我正在使用 moment.js
获取 UTC 日期偏移量。
我有以下代码,它给出了偏移量,但我收到警告 “Deprecation warning: moment construction falls back to js Date”
。
var s = booking.booking_date_time.toString();
console.log(moment(s).parseZone(s).utcOffset());
上面的 s
变量设置为 “Mon Jun 13 2016 08:00:00 GMT+1000(澳大利亚东部标准时间)”
。
我知道要摆脱警告,我需要立即指定日期格式,但我不确定日期格式应该是什么。我试过这种格式 "EEE MMM dd yyyy HH:mm:ss ZZ"
,但这不起作用。
最佳答案
Moment 使用它自己的解析标记集,这与其他库不同。因此,您在这里有一些错误的标记。另外,需要在字符串中指定GMT,但用[]转义。
总结一下:
moment('Mon Jun 13 2016 08:00:00 GMT+1000', 'ddd MMM DD YYYY HH:mm:ss [GMT]ZZ').format()
"2016-06-12T17:00:00-05:00"
请注意,当您使用默认时刻构造函数进行解析时,它将从指定的偏移量转换为用户的本地时间。
如果你想保持一个固定的偏移量,使用parseZone:
moment.parseZone('Mon Jun 13 2016 08:00:00 GMT+1000', 'ddd MMM DD YYYY HH:mm:ss [GMT]ZZ').format()
"2016-06-13T08:00:00+10:00"
编辑:注意评论。如果是日期,直接传入即可。我应该注意到这一点。
关于javascript - 在 moment.js 中使用什么日期格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37604239/