【问题标题】:Moment js utc() time in london - BST伦敦的时刻 js utc() 时间 - BST
【发布时间】:2014-09-26 23:52:00
【问题描述】:

我正在使用 momentjs lib 来更新一些 ajax 操作的文本。我需要做的是在伦敦设置当前日期和时间。我正在使用 moment.utc() 函数,但由于夏季时间,我要离开一小时。

例如在 14:26 运行这个

console.log( moment.utc().format('HH:mm:ss') );

我的时间是 13:26:53。

知道如何解决这个问题吗?

【问题讨论】:

  • 如果您想要当地时间,为什么要使用utc()?当然它的行为完全符合预期......
  • 我想要的不是当地时间,而是伦敦时间
  • 不管用户在哪里?我会说,这会带来相当奇怪的体验——但拓哉的回答应该已经涵盖了你。你能解释一下你为什么想要这个吗?

标签: javascript datetime momentjs


【解决方案1】:

如果您想要本地时间而不是 UTC 时间,只需使用 moment() 而不是 moment.utc()。您专门询问 UTC,所以当您获得 UTC 时您不应该感到惊讶:)

来自文档:

默认情况下,moment 解析并显示为当地时间。

如果要解析或显示 UTC 时刻,可以使用 moment.utc() 而不是 moment()。

这为我们带来了 Moment.js 的一个有趣特性。 UTC 模式。

在 UTC 模式下,所有显示方式都会以 UTC 时间显示,而不是本地时间。

这是假设您总是想要用户的本地时间。如果您想要一个特定的时区(伦敦),该时区可能 不是用户的时区并且不是 UTC,那么您应该使用 Takuy​​a 的回答所指示的库。不过,在这样做之前我会仔细考虑 - 虽然它可能是一种明智的方法,但您至少应该先验证它。在用户 U2 的时区显示用户 U1 的时间通常是合理的 - 但这里您使用的是 固定 时间区。仅当您知道 U2 将始终在伦敦时,这才是合适的。如果实际上 U2 位于某个其他区域 - 与 U1 相同或不同,那将是真的混淆。

【讨论】:

  • moment() 的问题是它使用用户计算机上的本地时间,例如如果用户不在伦敦或在设备上设置了错误的时间和时区,则无法正常工作。
  • @Takuy​​a:是的,我假设 OP 想要用户的本地时间 - 如果他们总是想要伦敦时间而不考虑用户的时区,那么使用 Europe/London 是有意义的。 . 虽然这是一个非常奇怪的设计决定。
  • 是的,也许很奇怪,但我们不知道用例。顺便为你的博客添加了书签。
  • 我认为有很多很好的用例可以使用用户自己的本地时区以外的时区。例如,考虑一个呼叫中心 UI,操作员可以在屏幕和呼叫日志中看到呼叫者的本地时间。还可以考虑一个简单的脚本,显示其网站上的营业地点当前是开放还是关闭。他们希望将营业时间与该企业的本地时区进行比较,即使用户在世界的​​另一端。我敢肯定还有很多其他用例。
  • @MattJohnson:是的——但这些都是在谈论别人的时区,而不是另一个固定时区。我想如果您假设所有来电者都来自英国,那是有道理的。如果 OP 可以提供更多上下文,我仍然会喜欢它 - 它可能是合适的,但它可能不是......编辑我的答案不那么直截了当:)
【解决方案2】:

你能用momentJS timezone吗?

moment().tz('欧洲/伦敦');

编辑:如果您在没有看到链接的情况下尝试使用它,那么您必须包含一个单独的库。

【讨论】:

  • 如何获取 PST 时间?我试过这个var dec = moment(); const pst = moment.tz('America/Los_Angeles').format('YYYY-MM-DD hh:mm a z'); console.log(pst) 它总是给 PDT 时间。请问有什么建议吗?
  • @shanmugharaj 我相信你必须给它一个 PST 范围内的时间才能开始。例如:moment.tz([2012, 0], 'America/Los_Angeles').format('zz'); // PST moment.tz([2012, 5], 'America/Los_Angeles').format('zz'); // PDT 请参阅:momentjs.com/timezone/docs
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-08
  • 2011-02-02
  • 2018-11-17
  • 1970-01-01
  • 1970-01-01
  • 2012-01-01
  • 2015-12-09
相关资源
最近更新 更多