任务:
时区选择器小部件,允许网站访问者选择他们的时区应该生成和填充合理的数据。它应该提供如下选择:
GMT-11 (HH:MM actual time in that zone) GMT-10 (...) GMT-1 (...) ... now for the tricky part: GMT (...) GMT+1 (...) ... and then all the way until +12.
当用户选择不同的时区时,服务器应该能够确定要设置的时区。一旦用正确的数据填充列表,第二部分就不是什么问题了。
在上面的列表中,我标记了某些“棘手”的部分。这就是欧洲/伦敦这样的时区所在地。在正常时间,欧洲/伦敦=GMT,但在夏令时,欧洲/伦敦=GMT+1。。。你能看到问题吗?
-11=GMT-11,-10=GMT-10。。。 然后应用一些逻辑来定位具有适当时差的时区,然后从那时起将该时区设置为默认时区。
看看什么 Google Calendar 做。它显示 标准时间 偏移量以及城市名称,例如。
(GMT+01:00) Tunis
现在的 与UTC和城市的偏移量。老实说,不管怎样,你都会把人搞糊涂的。
最常用的时区数据源是 tz/zoneinfo 数据库-公开免费提供。
tz/zoneinfo
six and a half minutes that officially don't exist ).