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

Desafio usando datetime e strftime

Ola pessoal para resolver o problema com numero abaixo de 10 tive que usar o import datetime, alguma outra solução para o caso?

import datetime
class Data:
    def __init__(self, dia, mes, ano):
        self.dia = dia
        self.mes = mes
        self.ano =ano
        print("Definindo Data")

    def formatada(self):
        d = datetime.datetime(self.ano,self.mes, self.dia)
        print(d.strftime("%d/%m/%Y"))

d = Data(21,11,2007)
hoje = Data(8,5,2022)
d.formatada()
hoje.formatada()

saida: Definindo Data Definindo Data 21/11/2007 08/05/2022

2 respostas
solução!

Olá André, tudo bem com você?

Meus parabéns pela implementação do código e por compartilhar com a comunidade do fórum.

Uma outra forma que podemos tratar os números menores que 10 conforme explico abaixo:

Podemos implementar a função formatadata(self) com a manipulação dos valores do dia e mês para que sejam fornecidos em um padrão determinado, para isso devemos inserir nas data valores do tipo int, deixo abaixo um exemplo:

    def formatada(self):
        print("{:02d}/{:02d}/{}".format(self.dia, self.mes, self.ano))

No exemplo acima :02d formata um inteiro (d) para um campo de largura mínima 2 (2), com preenchimento de zero à esquerda, quando a largura mínima de dois caracteres não for atendida. Então, caso passássemos a data 2/4/2022, seria preenchido com zeros a esquerda, como mostro abaixo:

class Data:
    def __init__(self, dia, mes, ano):
        self.dia = dia
        self.mes = mes
        self.ano = ano
        print("Definindo Data")

    def formatada(self):
        print("{:02d}/{:02d}/{}".format(self.dia, self.mes, self.ano))

d = Data(2, 4, 2022)
d.formatada()
# Resultado

02/04/2022

Para saber um pouco mais sobre a formatação de string recomendo esse artigo Anatomy of String Formatting in Python em português: Anatomia da string - formatando em Python. Caso tenha dificuldades com o idioma, recomendo que use o tradutor que existe no navegador.

Coloco-me à disposição em caso de dúvidas.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Muito obrigado, lembro da gente ter visto algo no começo do curso, mas tava perdido aqui e sai em busca e acabei descobrindo o datetime haha. novamente obrigado, ajudou muito.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software