django 的 use_tz = True 返回时区中的日期时间对象。如果设置为 false,它将使用系统默认(区域设置)时间,这是幼稚的。我做了一个小实验来澄清这种困惑
test1:当 use_tz = true 时;时区=美国/东部;系统时区:UTC+5:30
datetime.datetime.today() # returned naive datetime with locale time
timezone.now() returned # UTC
timezone.localtime() # returned us/eastern
test2:当 use_tz = true 时;时区=美国/东部;系统时区:UTC-5
datetime.datetime.today() # returned naive datetime in with locale time
timezone.now() # returned UTC timezone
timezone.localtime() # in US/eastern timezone
test3:当 use_tz = False 时;时区=美国/东部;系统时区:UTC-5
timezone.now() # returned naive datetime with system time
timezone.localtime() # returned traceback ValueError: localtime() cannot be applied to a naive datetime
test4:当 use_tz = False;时区=UTC;系统时区:UTC+5:30
datetime.datetime.today() # returned naive datetime in system timezone
timezone.now() # returned naive datetime in system timezone
timezone.localtime() # returned traceback