【发布时间】:2022-07-06 21:55:58
【问题描述】:
您好,我有一个使用本地时区和日期将本地时间转换为 UTC 的函数:
this.conversion.dateTimeToTime('2022-07-04 12:30', 'America/Los_Angeles');
public dateTimeToTime(date, timezone = 'UTC') {
date = new Date(date);
return date.toLocaleTimeString('en-GB', {timeZone: timezone, hour12: false});
}
}
这是 UTC 本地的 12:30,应该是 20:30(ish),但输出是 4:30utc 而不是倒退
我想知道我做错了什么
谢谢
【问题讨论】:
-
new Date('2022-07-04 12:30')取决于您当地的时区。您需要使输入数据不依赖于此。我不是 JavaScript 日期函数的(非常复杂的)字符串解析逻辑方面的专家,但new Date('2022-07-04T12:30:00Z')似乎使用 UTC(至少在 Firefox 中)并且可能有更可靠的方法。
标签: javascript datetime