我想在 JavaScript 中解析没有时区的日期。我试过了:
new Date(Date.parse("2005-07-08T00:00:00+0000"));
返回Fri Jul 08 2005 02:00:00 GMT+0200(中欧夏令时间):
Fri Jul 08 2005 02:00:00 GMT+0200
new Date(Date.parse("2005-07-08 00:00:00 GMT+0000"));
返回相同的结果并且:
new Date(Date.parse("2005-07-08 00:00:00 GMT-0000"));
也返回相同的结果。
我想解析时间:
Date.UTC
Date(year, month, day)
我必须生成一个日期对象,而不是字符串。
日期已正确解析,只是toString将其转换为您的本地时区:
toString
let s = "2005-07-08T11:22:33+0000"; let d = new Date(Date.parse(s)); // this logs for me // "Fri Jul 08 2005 13:22:33 GMT+0200 (Central European Summer Time)" // and something else for you console.log(d.toString()) // this logs // Fri, 08 Jul 2005 11:22:33 GMT // for everyone console.log(d.toUTCString())
Javascript Date 对象是时间戳 - 它们仅包含自纪元以来的毫秒数。Date 对象中没有时区信息。这个时间戳代表哪个日历日期(天、分、秒)取决于解释(to...String方法之一)。
to...String
上面的示例显示日期被正确解析 - 也就是说,它实际上包含与 GMT 中的“2005-07-08T11:22:33”相对应的毫秒数。