2012-05-02 42 views
4

可能重复:
Javascript/PHP and timezones获取奥尔森时区ID信息

它有可能获得从JavaScript奥尔森时区ID的客户机上如(美国/纽约)。我知道PHP可以通过时区对象来做到这一点,就像这样。 $ timezone->的getLocation(); JS有类似的功能吗?我知道你可以获取客户端的时区偏移量,如下所示: var curdate = new Date(); var offset = curdate.getTimeZoneOffset();

但我需要Olson Id提供的更详细的信息。感谢您的帮助。

+1

不幸的是,没有 – phantasm

回答

3

您无法直接访问JavaScript中的时区。但是,您可以测量在几个不同的特定日期报告的偏移量,以便通过比较常规日光节约时间和夏时制节省时间数据库来推断出正在使用的时区。有a jsTimezoneDetect library可以为你做这个工作的大部分。

+0

这种机制可以让你获得一个**当前等价的时区,但它实际上并没有得到真正的时区。 – Sam

+0

这是真的,但考虑到你可以在JS的每次运行中重新同步,并且总是找到新的等效区域,所以对于几乎​​所有目的而言,它应该已经足够了。 –

+0

我想这取决于你想用什么时区。我正在考虑用户输入时间的Web应用程序场景,并且一些JS代码也提供了时间,以便服务器可以明确地解释它。在这些情况下,我认为这种机制是不够的,特别是对于未来的时间,在这种情况下,实时区域的DST规则可能在未来发生变化。 – Sam