当我在 us-east-1 托管的 AWS lambda 中运行以下命令时
const currentTime = moment().utc().valueOf();
console.log(new Date( currentTime ));//1538003255995
Prints: Wed Sep 26 2018 19:07:35 GMT-0400 (Eastern Daylight Time) --- Correct in terms of current time.
const currentExecution = moment().set({
hour: 19,
minute: 24,
second: 0
}).utc().valueOf();
console.log(new Date( currentTime ));//1537989840995
Prints:Wed Sep 26 2018 15:24:00 GMT-0400 (Eastern Daylight Time)
为什么显示 15:24 而不是 19:24?
但是当我在位于 EST 的本地计算机中运行此代码时,它会打印
2018 年 9 月 26 日星期三 19:24:00 GMT-0400(东部夏令时间)
为什么单独使用 lambda 运行时会有 4 小时的差异?
最佳答案
因为 new Date
采用本地时间戳,所以它返回 UTC 19:07 时您所在位置的时间,即 15:07 。这与 AWS 不同,因为它们可能不使用时区偏移,因此服务器的行为就像采用 UTC
您可能想使用Date.UTC
... goto
关于javascript - Lambda 时刻 utc 时间设置小时和分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52527336/