js文件中获取服务器时间戳,如何在JavaScript中获取UTC时间戳?

以这种方式构造的日期使用本地时区,使构造日期不正确。设置某个日期对象的时区是从包含时区的日期字符串构造它。(我在使用较旧的Android浏览器时遇到了问题。)

请注意,getTime()返回毫秒,而不是普通秒。

对于UTC / Unix时间戳,以下内容应该足够:

Math.floor((new Date()).getTime() / 1000)

它会将当前时区偏移量计入结果。对于字符串表示,David Ellis的回答是有效的。

澄清:

new Date(Y, M, D, h, m, s)

该输入被视为当地时间。如果传入UTC时间,结果将有所不同。观察(我现在在GMT +02:00,现在是07:50):

> var d1 = new Date();

> d1.toUTCString();

"Sun, 18 Mar 2012 05:50:34 GMT" // two hours less than my local time

> Math.floor(d1.getTime()/ 1000)

1332049834

> var d2 = new Date( d1.getUTCFullYear(), d1.getUTCMonth(), d1.getUTCDate(), d1.getUTCHours(), d1.getUTCMinutes(), d1.getUTCSeconds() );

> d2.toUTCString();

"Sun, 18 Mar 2012 03:50:34 GMT" // four hours less than my local time, and two hours less than the original time - because my GMT+2 input was interpreted as GMT+0!

> Math.floor(d2.getTime()/ 1000)

1332042634

另请注意,getUTCDate()不能替代getUTCDay()。这是因为getUTCDate()返回该月的某一天 ; 然而,getUTCDay()返回星期几。

你可能感兴趣的:(js文件中获取服务器时间戳)