【发布时间】:2019-10-24 21:54:06
【问题描述】:
我在使用 moment-timezone 和 America/Sao_Paulo 尝试使用 America/Sao_Paulo 偏移量解析日期时遇到错误。我已经创建了这段代码:
const date = "2019-1-1 23:30";
const format = "YYYY-M-D HH:mm";
const timezone = "America/Sao_Paulo";
const dateMoment = moment.tz(date, format, timezone);
dateMoment 的输出是2019-01-01T23:30:00-02:00,但我希望2019-01-01T23:30:00-03:00,因为America/Sao_Paulo 有偏移-03:00。
是我遗漏了什么还是我初始化了dateMoment 错误?
const date = "2019-1-1 23:30";
const format = "YYYY-M-D HH:mm";
const timezone = "America/Sao_Paulo";
const dateMoment = moment.tz(date, format, timezone);
console.log(dateMoment.format());
console.log(moment.tz(timezone).format('Z'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js"></script>
<script type="text/javascript" src="http://momentjs.com/downloads/moment-timezone-with-data.js"></script>
【问题讨论】:
-
输出正确,见Sao Paulo DST Changes,6月份的偏移量是
-03:00,而1月份的偏移量是-02:00。 -
这已在时刻/时区 0.5.27 版本中修复。升级您的时刻时区 lib/js 以查看效果。 github.com/moment/moment-timezone/tree/develop/builds
标签: javascript datetime momentjs moment-timezone