Javascript/PHP和时区

Jam*_*mes 6 javascript php timezone

我希望能够猜出用户的时区偏移量以及是否应用了夏令时.目前,我发现的最明确的代码是:

http://www.michaelapproved.com/articles/daylight-saving-time-dst-detect/

所以这给了我与DST指标的偏移量.

现在,我想在我的PHP脚本中使用这些来为用户输出本地日期/时间....但是最好的是什么呢?我想我有两个选择:

a)从timezone_abbreviations_list()的输出中选择一个具有相同偏移量和DST设置的随机时区.然后用这个调用date_timezone_set(),以便对时间应用正确的处理.

b)继续将日​​期视为UTC,但只是添加一些时间戳以添加适当的小时数.

我的感觉是选项B是最好的方式.这样做的原因是,使用A,我可以使用一个时区虽然在偏移量/ dst方面是正确的,但可能会在场景后面出现一些可能产生令人惊讶的结果的规则(我不知道任何但是仍然如此)我认为我不能排除它.

然后,我会在每个会话开始时使用Javascript重新检查时区,以便捕获用户的时区更改(非常不可能)或者传递到DST时段.

对于大脑转储感到抱歉 - 我真的只是在确认上述方法是有效的.

谢谢,

詹姆士.

Jon*_*der 7

使用javascript稳健地确定用户的时区.查看jsTimezoneDetect.

它将为您提供一个Olsen时区数据库密钥,您可以将其用于服务器端日期时间计算.