【发布时间】:2018-10-24 18:45:37
【问题描述】:
我收到来自第三方 API 的时间戳,类似于:1540388730994。但是,我被告知此时间戳位于'Europe/Amsterdam' 时区。
我需要将此时间戳转换为 UTC,因为我们将所有日期都存储在 UTC 中。
这在 JavaScript 中怎么可能?
到目前为止我已经尝试过:
const timestamp = 1540388730994
const timestampInUTC = moment.tz(timestamp, 'Europe/Amsterdam').utc().valueOf()
console.log(timestamp, timestampInUTC)
<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.21/moment-timezone-with-data-2012-2022.min.js"></script>
但是,您可以清楚地看到两个输出时间戳是相同的,而我预计转换会减去 1-2 小时,因为阿姆斯特丹时区是 GMT+2。
我在这里做错了什么?
【问题讨论】:
标签: javascript node.js datetime timezone momentjs