【问题标题】:Convert date time string to UTC date in JavaScript在 JavaScript 中将日期时间字符串转换为 UTC 日期
【发布时间】:2021-09-30 19:03:51
【问题描述】:

如何在 JavaScript 中将 "2011-09-30T00:00:00" 日期时间字符串转换为 UTC 日期?

我尝试了new Date("2011-09-30T00:00:00"),但它转换为"2011-09-29T23:00:00.000Z"

【问题讨论】:

  • new Date("2011-09-30T00:00:00") 不应将其转换为 "2011-09-29T23:00:00.000Z",只有当您执行 new Date("2011-09-30T00:00:00").toISOString() 时才会发生这种情况。你在哪里尝试这个?你试过new Date("2011-09-30T00:00:00").toUTCString()吗?
  • 感谢您的评论,我尝试了 toUTCString 但我需要一个日期对象,而 toUTCString 返回一个字符串。 new Date(new Date("2011-09-30T00:00:00").toUTCString()) 会返回 UTC 日期吗?

标签: javascript typescript datetime


【解决方案1】:

简单:

function createDateUTC(dateUTC) {
    return new Date(dateUTC + "Z");
}

var dateUTC = createDateUTC("2011-09-30T00:00:00");

console.log(dateUTC);

【讨论】:

【解决方案2】:
function createDateAsUTC(dateYmd) {
    var dateYmdSplited = dateYmd.split('-');
    var y = Number(dateYmdSplited[0]);
    var m = Number(dateYmdSplited[1]) - 1;
    var d = Number(dateYmdSplited[2])

    return new Date(Date.UTC(y, m, d, 0, 0, 0))
}

var fecha = "2021-09-01";
var d = createDateAsUTC(fecha);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    • 2015-10-24
    • 2011-06-13
    • 2016-02-28
    • 1970-01-01
    • 2014-11-18
    • 2016-05-03
    相关资源
    最近更新 更多