Como comparar data e hora no Django?
-
19-09-2019 - |
Pergunta
Suponha que eu tenho:
ds = datetime.datetime.now
dd = Entry.objects.get(pk=id).pub_date
Como comparar 2 objetos acima? Eu quero começar a diferença de tempo entre eles. Por favor, me ajude a resolver esse problema. Muito obrigado!
Solução
Estou assumindo que pub_date
é um django.db.models.DateField
, o que significa que você pode tratá-lo como um objeto datetime.date
.
Se você convertê-los para o mesmo tipo (ou datetime.datetime
ou datetime.date
) e subtrair um do outro, você vai ter uma instância de datetime.timedelta
.
Como você está usando datetime.datetime.now()
, se o seu pub_date
é simplesmente uma data em vez de uma data e hora, você pode também usar ds = datetime.date.today()
vez:
>>> ds = datetime.date.today()
>>> dd = datetime.date(2009, 12, 9)
>>> ds - dd
datetime.timedelta(2) # 2 days ago
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow