【问题标题】:Moment Timezone ("America/Los Angeles") off by 3 minutesMoment 时区(“美国/洛杉矶”)延迟 3 分钟
【发布时间】:2016-05-04 23:23:07
【问题描述】:

我写了一个函数以 HH:MM A 格式返回 PST/PDT 中的当前时间 (例如上午 12:04)

function getTimeStr() {
  var currentTime = moment().tz("America/Los_Angeles").format("hh:mm a").toUpperCase();
  if(currentTime.charAt(0) === '0') {
    currentTime = currentTime.substr(1);
  }
  return currentTime;
}

但是,moment-timezone 返回的时间比正确时间晚了 3 分钟。

在他们的网站http://momentjs.com/timezone/ 上时间是正确的,但不是当我调用该函数时。

例如,如果是下午 4:07,我将收到下午 4:04。

我是在节点中编写的,代码在 AWS EC2 实例上运行。

【问题讨论】:

  • 机器时间是否正确?好像不是。

标签: javascript momentjs


【解决方案1】:

【讨论】:

  • 这有关系吗?我正在通过时刻时区调用第三方 API。
  • moment 使用机器上的时间工作 - 所以,是的。
  • @imchingy 是什么意思? moment-timezone 代码正在您的 ec2 实例上运行,因此实例化一个新的 momentjs 实例会占用该服务器的时间
  • 啊,我明白了。您如何建议将服务器内的正确时间与 PST/PDT 匹配?
  • 您不会,您将服务器时间设置为 UTC,但您将使用我在上面粘贴的链接中的信息进行操作。这是您在 Node 中使用的代码,它将执行从 UTC 到 PST/PDT 的转换
猜你喜欢
  • 2015-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多