【发布时间】:2013-10-30 20:45:53
【问题描述】:
我现在正在经历使 django 应用程序时区感知的过程。最初,TIME_ZONE 设置设置为“America/Los_Angeles”,但我认为将其设置为“UTC”可能更标准。
当我在 Javascript 中将 datetime 渲染到网页时,我发现了一些意外行为(start_date 是我之前在视图中定义的幼稚 datetime):
django 视图:cal_start_date = time.mktime(start_date.timetuple())
js:startDate = new Date(response.cal_start_date * 1000)
根据我在settings.py中设置的TIME_ZONE,我得到了cal_start_date的不同时间戳,这是可以理解的:time.mktime方法返回一个浮点数,表示自纪元以来的秒数(01/ 01/1970)。但是,自纪元以来的秒数取决于我们所指的时区。我相信time.mktime 会自动将TIME_ZONE 设置作为用于此参考的设置,对吧?
一般来说,更改 django TIME_ZONE 设置是不好的做法吗?
【问题讨论】:
标签: python django python-datetime django-timezone