momentjs不会根据指定的时区更改日期/时间



我使用即时时区来输出出席日期(适用于任何时区(。对于我的时区(亚洲/雅加达(,今天2020-04-22 17:30:00是正确的。然而,对于任何时区,它总是输出2020-04-22 17:30:00,这是不正确的。在下面的例子中,它应该显示2020-04-22 15:30:00

const presence_end = "2020-04-22T17:30:00+07:00";
const end = Moment(presence_end).tz('Asia/Jayapura').format();
console.log(end) //the output is 2020-04-22 17:30:00```

我无法完全复制您的结果,但我希望这会有所帮助。

从下面的代码来看,时间似乎变化正确,从亚洲/雅加达时间(+07:00(到亚洲/查亚普拉时间(+9:00(。

如果雅加达是17:30,查亚普拉应该是19:30。

const presence_end = "2020-04-22T17:30:00+07:00";
const endJakarta = moment(presence_end).tz('Asia/Jakarta').format();
console.log("Presence_end (Asia/Jakarta):", endJakarta )
console.log("Presence_end (UTC):", moment(presence_end).toISOString());
const endJayapura = moment(presence_end).tz('Asia/Jayapura').format();
console.log("Presence_end (Asia/Jayapura):", endJayapura);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script> 
<script src="https://momentjs.com/downloads/moment-timezone-with-data.js"></script>

最新更新