在Tornado中设置时区

2 投票
3 回答
1250 浏览
提问于 2025-04-16 13:31

人们在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

撰写回答