我有一个这种格式的字符串日期:
“2012-07-22T08:00:00Z”
但是当我尝试从该字符串创建日期时:
new Date("2012-07-22T08:00:00Z");
我得到:
日期 {2012 年 7 月 22 日星期日 01:00:00 GMT-0700}
看起来它正在将日期的时区更改为本地时区。因为它减少了 7 小时的时间 ( GMT-0700 )
如何在正确的时间(08:00:00)使用 UTC 保存日期对象?
提前致谢!!!
我有一个这种格式的字符串日期:
“2012-07-22T08:00:00Z”
但是当我尝试从该字符串创建日期时:
new Date("2012-07-22T08:00:00Z");
我得到:
日期 {2012 年 7 月 22 日星期日 01:00:00 GMT-0700}
看起来它正在将日期的时区更改为本地时区。因为它减少了 7 小时的时间 ( GMT-0700 )
如何在正确的时间(08:00:00)使用 UTC 保存日期对象?
提前致谢!!!
它只显示这样的日期,因为 Date 的 toString() 方法返回为当前时区格式化的日期。内部表示仍然是时区中立的。试试new Date("2012-07-22T08:00:00Z").toUTCString()
。
Javascript Dates 有很多方法可以使用当前时区或 UTC 获取和设置值,因此如果您需要使用 UTC 计算或打印,可以使用这些方法。
我看起来像 UTC 和 GMT 是同一个时区:
在我的头顶上:
function dateToUTC( date ) {
return new Date(
date.getUTCFullYear(),
date.getUTCMonth(),
date.getUTCDate(),
date.getUTCHours(),
date.getUTCMinutes(),
date.getUTCSeconds()
)
};
虽然看起来效率很低...