javascript - Lambda 时刻 utc 时间设置小时和分钟

标签 javascript aws-lambda momentjs

当我在 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/

相关文章:

javascript - 使用 Javascript 随着时间的推移更改背景颜色

javascript - 在 ChartJS 中单击时如何获取条形图标签的值?

java - 从 ruby​​ SDK 使用参数调用 Java 中的 AWS Lambda

amazon-web-services - 将标签添加到现有 S3 对象时是否会生成任何事件?

javascript - Moment.js 时区 - 输出时考虑处于不同时区的日期/时间

javascript - 输入文本后,innerHTML 文本框不起作用

javascript - Angular Bootstrap 正在创建重复的 Bootstrap 模式

aws-lambda - AWS Lambda : creating the trigger

angular -/node_modules/moment-timezone/index.d.ts (47,77) : ';' expected. 中出现错误如何修复

javascript - Momentjs 更改时区值