我正在使用时刻js来根据时区进行日期格式化。我有以下示例
console.log(moment("11-Apr-2017 13:00 UTC+00:00", "D-MMM-YYYY HH:mm:Z").format('x'));

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
&#13;
这是额外的一小时。
答案 0 :(得分:1)
您的字符串与格式不符。特别是,“13:00 UTC + 00:00”与“HH:mm:Z”不匹配。所以时区完全被忽略了。如果你得到UTC + 1:00,那是因为那就是你所在的地方。我得到UTC-4:00。
如果您移除:
和mm
之间的Z
,或者00
和UTC
之间的广告,则可以使用:
console.log(moment("11-Apr-2017 13:00 UTC+00:00", "D-MMM-YYYY HH:mm Z").format('x'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
答案 1 :(得分:0)
时刻会计算您的时区,要获取没有时区偏移的时间(即不增加1小时的时间),您可以使用以下任一方法
moment.utc(new Date(<date>)).format("YYYY-MM-DD HH:mm:ss")
OR
moment(new Date(<date>)).utc().format("YYYY-MM-DD HH:mm:ss")