2012-02-20 36 views
8

我知道我可以通过new Date()。getTimeZoneOffset()获取本地时区偏移量。但是Javascript在哪里获得这些信息?有没有一种方法可以设置它,以便所有将来的Date对象都有我想要的偏移量?我试图在Firebug中搜索DOM,但找不到任何东西。我可以通过Javascript在浏览器中设置本地时区吗?

我试图完成的是将纪元时间转换为可读格式,但无论浏览器的操作系统设置如何,它都需要位于US/Central。因为我使用的是美国/中央,与GMT不是固定的区别。因此,为什么我不能告诉Javascript我实际上在美国/中央,而不是一堆超级讨厌的转换步骤?

+0

可能会涉及到几个“令人讨厌的转换步骤”,但是不能将这些步骤封装在自己的'GetUSCentralDate()'函数中,然后在需要新的Date对象时使用它? – nnnnnn 2012-02-21 00:07:32

回答

4

我知道我可以通过新的Date()。getTimeZoneOffset()获取本地时区偏移量。但是Javascript在哪里获得这些信息?

An implementation of ECMAScript is expected to determine the local time zone adjustment.

有没有一种方法,我可以将它设置,使今后所有Date对象已经偏移我想要什么?

因此,而不是一堆超级讨厌的转换步骤,为什么我不能只是告诉的Javascript,我在美国/中央其实是?

您是否考虑过使用a library

+0

TimezoneJS.Date库依赖于不再可用的Olson时区数据库文件。没有其他的Javascript日期库似乎有这种功能。 – 2012-02-21 07:01:47

+0

这里是:http://www.iana.org/time-zones – user123444555621 2012-02-21 10:02:07

+0

时下更好更实际的图书馆,对于OP使用案例(以及其他许多案例),正在使用时区 - 时区,正如另一篇在这里回答。 – igorsantos07 2015-11-28 01:34:01

1

我意识到这是一个老帖子,但momentJS是一个功能强大的JavaScript库来操纵日期/时间对象

4

目前,矩时区使我们能够通过使用moment.tz.setDefault()设置“浏览器的”默认时区。

你将不得不使用moment()而不是Date(),但这仍然是一个不错的升级超过奇怪的JS日期对象。

相关问题