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

喜欢:

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

即:“开罗”的某个用户访问我的网站,那么我需要知道他的时间何时是上午9点,而我的“开罗”格林尼治标准时间是+0200。

有办法用javascript吗?

谢谢。

最佳答案

您可能正在寻找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,并且指定时间的最终偏移量是oo + 60o - 60,可以使用getTimezoneOffset()对象上的Date轻松检查它们使用扩展构造函数创建。

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

07-25 23:06