2

好吧,与我的时区相比,我需要知道用户时间上午 9 点的时间。

喜欢:

我来自巴西 格林威治标准时间上午 9 点 -0300

即:来自“开罗”的一些用户访问我的网站,然后我需要知道他的时间是上午 9 点,而我的时间“开罗”的时间是 +0200。

有没有办法用 Javascript 做到这一点?

4

2 回答 2

3

您可能正在寻找getTimezoneOffset()方法(请参阅http://www.w3schools.com/jsref/jsref_gettimezoneoffset.asp):

var d = new Date()
var n = d.getTimezoneOffset();

n将以分钟为单位的 UTC 和本地时间之间的时区差异。

更全面的指南在这里:http ://www.onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/ 。

编辑:哦,我忘记了未来的时间部分。在这种情况下,使用扩展构造函数之一创建自定义日期实例就足够了:

var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);

它可以用来确定当时的时区差异。您可以轻松地确定o某个时间的偏移量,指定时间的最终偏移量是o, o + 60o - 60,可以在使用扩展构造函数创建getTimezoneOffset()的对象上轻松检查。Date

在最坏的情况下,您可能需要执行 2-3 个计算步骤才能确定最终结果。

于 2012-09-30T15:31:51.330 回答
-1

结帐:javascript timezone converter,那里已经有关于您询问的主题的公开讨论。

于 2012-09-30T15:27:36.450 回答