Прежде всего, вы должны установить USE_TZ = True
для использования функциональности.
Django преобразует время в указанный часовой пояс (Asia/Kolkata
) только в templates
. Итак, если вы хотите использовать ваше местное время (Asia/Kolkata
) где-то в коде (views/models
), вы должны использовать метод localtime()
. Следуйте коду для достижения этого:
settings.py
TIME_ZONE = 'Asia/Kolkata'
USE_TZ = True
и
from django.utils import timezone
my_local_time = timezone.localtime(timezone.now())
Пример в оболочке django
In [1]: from django.utils import timezone
In [2]: timezone.now()
Out[2]: datetime.datetime(2018, 4, 29, 14, 5, 30, 112218, tzinfo=<UTC>)
In [3]: timezone.localtime(timezone.now())
Out[3]: datetime.datetime(2018, 4, 29, 19, 35, 46, 649587, tzinfo=<DstTzInfo 'Asia/Kolkata' IST+5:30:00 STD>)
Ссылки:
- SO сообщение
localtime()