Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Tipo do parâmetro data_de_emissao

Usando data_de_emissao=date.today() no construtor da classe Nota_fiscal, garantimos que o tipo do campo data_de_emissao seja datetime.date. Por outro lado, na utilização do padrão Builder através da classe Criador_de_nota_fiscal, não temos essa garantia. É possível atribuir a esse campo uma string, por exemplo. Como fazer com que data_de_emissao em Criador_de_nota_fiscal seja do tipo datetime.date?

2 respostas
solução!

Olá,

É possível sim, no caso você pode usar uma função de conversão da sua string para o time date:

data_de_emissao = datetime.strptime(data_de_emissao, '%d/%m/%Y').date()

Repare que sua data de entrada teria que ser no formato dd/mm/aa, caso fuja desse formato a função irá levantar um erro que você deverá tratar dentro da sua função.

Abs

Funcionou! Eu tive que fazer a conversão inversa na impressão.

print(str(nota_fiscal.data_de_emissao.day).zfill(2) + '/' + str(nota_fiscal.data_de_emissao.month).zfill(2) + '/' + str(nota_fiscal.data_de_emissao.year) + '\n')

Obrigado, Bruno.