Django эквивалент Rails x.days.from_now - PullRequest
1 голос
/ 15 февраля 2012

Есть ли Python / Django-эквивалент Ruby on Rails

 x.days.from_now
 x.years.from_now
 Time.now + 7.days ???

Работа со временем и датой в Rails кажется намного проще !!

Ответы [ 3 ]

3 голосов
/ 15 февраля 2012

Вы можете использовать datetime.datetime.now для получения текущей даты и времени и datetime.timedelta для создания смещения объекта datetime от текущего времени, как вам нравится. Например:

from datetime import datetime, timedelta

now = datetime.now()
seven_days_from_now = now + timedelta(days=7)
print now, seven_days_from_now
3 голосов
/ 15 февраля 2012

Попробуйте timedelta или более конкретно для django, есть некоторые вспомогательные функции (или теги шаблона), которые полезны на уровне шаблона при использовании дат:

timesince

{{ obj.created_on|timesince }}

timeuntil

{{ obj.starts_on|timeuntil }}

naturaltime:

{{ obj.created_on|naturaltime }}
0 голосов
/ 15 февраля 2012

Используйте что-то вроде

>>> from datetime import datetime, timedelta
>>> datetime.now()
datetime.datetime(2012, 2, 15, 15, 43, 37, 968000)
>>> datetime.now() + timedelta(7) # days
datetime.datetime(2012, 2, 22, 15, 43, 47, 234000)
>>>

Вы также можете использовать метод replace экземпляра datetime для замены отдельных компонентов.

...