使用 Moment JS 将 N 小时 UTC 格式转换为自定义时区

Convert N hours UTC format to Custom time zone using Moment JS

我已将 UTC 时间的属性保存为 N 小时(示例时间:15),现在我想将其转换回自定义时区。

我想用moment js将这个15H从UTC时区转换成自定义时区(例子:Europe/Berlin)

首先我从 Europe/Berlin 转换为 UTC:

hours = 15
moment.tz(hours, "HH", "Europe/Berlin").utc().format("HH")

这在数据库中保存为 13。 现在我想从 UTC 转换回 13 小时到 Europe/Berlin.

自定义时区(Europe/Berlin)是动态的。

有什么帮助吗?

您可以再次将小时解析为 UTC,然后在格式化之前将时区明确设置为 Europe/Berlin

console.log(moment.tz('13', "HH", 'GMT').tz('Europe/Berlin').format("HH"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.17/moment-timezone-with-data.min.js"></script>