转载:http://www.zlovezl.cn/articles/29/
因为自己写的东西是跑在米国的原因,所以时区问题是必须要解决的。之前的Django应用比如这个blog对于时区的处理直接在settings.py里面设置TIME_ZONE就可以,但是web.py就需要自己去处理这个问题了。通过阅读Django的代码发现,设置时区只要利用time模块的tzset方法就可以(UNIX适用)。
首先设置settings.TIME_ZONE = "Asia/Shanghai" (time.tzset还接受一些别的格式,请查看文档)
1
2
3
4
5
6
7
8
9
|
import
os
import
time
def
switch_time_zone():
"""
切换时区到settings.TIME_ZONE
"""
os.environ[
"TZ"
]
=
settings.TIME_ZONE
time.tzset()
|
这样时区就被设置成了中国的时区了,使用 datetime.datetime.now() 就可以看到变化了。
另外如果使用的是postgresql数据库的话,需要运行 SET TIME ZONE "Asia/Shanghai" 来设置数据库使用的时区。