Formatando datas em Models(Unicode) e views

As vezes é necessário devolver para os templates datas formatadas, para isso podemos utilizar a função strftime dos objetos datetime, que por sua vez apenas recebem a máscara com o formato desejado, segue abaixo uma lista de máscaras sugeridas pelo próprio Django, e uma exemplo de implementação prática:

('%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y')

Dentro do seu model crie uma função que retorne a data formatada:

def minha_data(self):
return u’ Data formatada:’ + self.date.strftime(‘%m/%d/%y %H:%M’)

Desta forma ao ser chamado o atributo minha_data do objeto, teremos um retorno semelhante a este:

objeto.minha_data()
Data formatada: 04/04/16 19:49'

Originally published at blog.gregorypacheco.com.br.