繁体   English   中英

JavaScript Moment.js解析时区错误

[英]JavaScript Moment.js Parsing Timezone Incorrectly

我有使用Moment.js的以下JavaScript代码。

 const time = "Thu Nov 01 2018 00:00:00 GMT-0400"; const momentTime = moment(time, "ddd MMM DD YYYY HH:mm:ss GMT-ZZ"); console.log(momentTime.toString()); // Thu Nov 01 2018 00:00:00 GMT-0600 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script> 

问题是我希望以下值彼此相等(它们当前不是):

  • timeThu Nov 01 2018 00:00:00 GMT-0400
  • momentTime.toString()Thu Nov 01 2018 00:00:00 GMT-0600

我期待momentTime.toString()等于Wed Oct 31 2018 22:00:00 GMT-0600 momentTime.toString() Wed Oct 31 2018 22:00:00 GMT-0600 (如果我的数学正确的话)。

看起来它只是出于某种原因正确地解析了时区或GMT偏移。

根据Moment.js解析文档,我应该能够使用ZZ将其解析为正确的时区。

知道我在这里做错了吗?

如评论中所述,将代码更改为以下工作:

 const time = "Thu Nov 01 2018 00:00:00 GMT-0400"; const momentTime = moment(time, "ddd MMM DD YYYY HH:mm:ss ZZ"); console.log(momentTime.toString()); // Wed Oct 31 2018 22:00:00 GMT-0600 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script> 

因此,基本上将格式字符串中的GMT-ZZ更改为ZZ

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM