在Tornado中设置时区
人们在Tornado中是怎么处理时区的,让用户看到的时间是根据他们的时区格式化的呢?我知道有一个叫locale.format_date的东西,它默认是格林威治标准时间(GMT),但是我该怎么根据用户的时区来设置正确的时间呢?
3 个回答
0
format_date
这个函数可以接受一个 gmt_offset
,这比自己去调整日期要好一点,但对于其他时区的复杂情况来说,帮助不大。
如果你的日期总是指过去的时间,可以考虑使用相对时间格式(比如“10分钟前”),这也是tornado的 format_date
默认的格式。如果你想避免日期显示过时,可以结合一些JavaScript来实现。
http://www.tornadoweb.org/documentation/locale.html#tornado.locale.Locale.format_date
0
抱歉我理解得不太清楚,你为什么要根据用户来格式化日期呢?在Tornado的上下文中,Tornado是一个服务器,而用户是客户端。
1
你需要用JavaScript把时区偏移量设置到cookies里。
var userDate = new Date();
var tzOffset = userDate.getTimezoneOffset();
// Now set the cookie