有没有办法在javascript中知道在指定的时区上午9点几小时?

时间:2012-09-30 15:18:51

标签: javascript

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

像:

我来自巴西上午9点GMT -0300

即:来自'开罗'的一些用户访问我的网站然后我需要知道他的时间早上9点与我的时间相比'开罗'gmt是+0200。

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

感谢。

2 个答案:

答案 0 :(得分:2)

您可能正在寻找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()对象上的{1}}。

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

答案 1 :(得分:-1)

结帐:javascript timezone converter,有一个关于你的询问主题的公开讨论。