About Timezones

With the USE_TZ = True setting, Django uses timezones for the DateTimeField. The datetimes are saved in UTC timezone in the database.

To get the time in a specific timezone, use the astimezone() method as follows:

1
2
3
4
5
6
7
>>> event.start
datetime.datetime(2019, 12, 31, 23, 0, 0, tzinfo=<UTC>)
>>> from django.utils import timezone
>>> tz = timezone.get_default_timezone()
>>> event.start.astimezone(tz)
datetime.datetime(2020, 1, 1, 0, 0, 0, 
tzinfo=<DstTzInfo 'Europe/Berlin' CET+1:00:00 STD>)

Tips and Tricks Programming Development Django 4.2 Django 3.2 Django 2.2 Python 3