javascript - 使用 MomentJS 将时区特定时间转换为 UTC

标签 javascript datetime momentjs utc

卡萨布兰卡时间转换为UTC时,MomentJS使用了错误的小时:

moment.tz.add("Africa/Casablanca|LMT WET WEST CET|u.k 0 -10 -10|0121212121212121213121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|32e5");


alert(moment.tz({ year: 2016, month: 6, date: 13, hour: 20 }, "Africa/Casablanca")._d.toUTCString());

这里显示的是 20:13,但它应该显示 19:13 (UTC),不是吗?

JSFIDDLE

最佳答案

AFAIK,使用像 _d 这样的内部结构可能会导致意外的结果。尝试使用公共(public) API:

moment.tz(...).toDate().toUTCString()

关于javascript - 使用 MomentJS 将时区特定时间转换为 UTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38359993/

相关文章:

javascript - Axios 不会发送 cookie,Ajax (xhrFields) 就可以了

javascript - JS/J查询 : Click Event After AddClass

java - 在 Java 中,如何获得两个日期之间的秒数差异?

javascript - Moment.js 总是给出 "a few seconds ago"

javascript - Moment.js 在 Firefox 中返回 NaN 而不是 chrome

javascript - Angular 日期选择器的行为完全不符合预期

javascript - Google map 标记未通过 ajax 动态显示

javascript - 直接使用对象

c# - 一个用户的 DateTime.TryParse 失败

c++本地时间不受使用boost的夏令时的影响