如何获取JavaScript中的UTC时间戳?

如何获取JavaScript中的UTC时间戳?,第1张

如何获取JavaScript中的UTC时间戳?
  1. 以这种方式构造的日期使用本地时区,从而使构造的日期不正确。设置某个日期对象的时区是从包含时区的日期字符串中构造它。(我无法在较旧的Android浏览器中正常运行。)

  2. 请注意,

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

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

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

它将当前时区偏移量计入结果。对于字符串表示形式,DavidEllis的答案有效。

澄清:

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

该输入被视为本地时间。如果传递了UTC时间,结果将有所不同。观察(我现在是格林尼治标准时间+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()
返回星期几 。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5037471.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存