【问题标题】:How to create UTC date in JS?如何在 JS 中创建 UTC 日期?
【发布时间】:2013-11-07 10:13:36
【问题描述】:

当我尝试在 UTC 中创建日期时,例如 new Date(Date.UTC(2013, 10, 7, 10, 3, 19)),我仍然会收到 Thu Nov 07 2013 12:03:19 GMT+0200 (FLE Standard Time),它会增加 +2 小时。如何只创建2013-11-07 10:03:19

【问题讨论】:

  • Date.toLocalString() 可能会对您有所帮助;)

标签: javascript date utc


【解决方案1】:

您创建的日期实际上是 2013-11-07 10:03:19 UTC,但是当您打印它时,它会打印您当地时区的日期。要提取 UTC 日期,您可以尝试使用 toUTCString(),如下所示:

Date(Date.UTC(2013, 10, 7, 10, 3, 19)).toUTCString() //"Thu, 07 Nov 2013 10:03:19 GMT"

【讨论】:

  • 它已经是 UTC,浏览器会在你的本地时区打印它。
  • 您问题中的代码完美地创建了日期对象。但是,日期对象可以显示在任何时区。如果您 console.log 日期对象,它将显示在您的本地时区。您可以使用 toUTCTString() 函数来规避此问题
  • 通用时间(如许多语言中的日期对象)没有时区,它可以打印在不同的时区。您可以查看这里以获取一些有用的方法:w3schools.com/jsref/jsref_obj_date.asp
【解决方案2】:

请删除 Date.UTC:

new Date(Date.UTC(2013, 10, 7, 10, 3, 19))
Thu Nov 07 2013 15:33:19 GMT+0530 (IST)
new Date(2013, 10, 7, 10, 3, 19)
Thu Nov 07 2013 10:03:19 GMT+0530 (IST)

【讨论】:

  • 但它仍然使用GMT+0530。我需要它是 0000。
【解决方案3】:

你需要 toUTCString() 吗?如此处所示:http://www.w3schools.com/jsref/jsref_toutcstring.asp

【讨论】:

  • 对不起,我没有看到有人在上面提到这个,我会赞成这个答案。
猜你喜欢
  • 1970-01-01
  • 2021-08-26
  • 1970-01-01
  • 1970-01-01
  • 2020-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-03
相关资源
最近更新 更多