在伦敦 - BST的时刻js utc()时间

时间:2014-08-04 13:28:04

标签: javascript datetime momentjs

我使用momentjs lib来更新某些ajax动作的文本。我需要做的是设置当前日期&在伦敦的时间。我使用的是moment.utc()函数,但是由于夏天的时间我只有一个小时。

例如在14:26运行它

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

我得到了13:26:53。

有关如何解决这个问题的想法吗?

2 个答案:

答案 0 :(得分:7)

您可以使用momentJS timezone吗?

矩()TZ('欧/伦敦');

编辑:如果你试图在没有看到链接的情况下使用它,它就是你必须包含的独立库。

答案 1 :(得分:4)

如果您想要当地时间而不是UTC时间,请使用moment()代替moment.utc()。你特意要求代表UTC,所以当你获取 UTC时你不应该感到惊讶:)

来自文档:

  

默认情况下,时刻会以当地时间进行分析和显示。

     

如果您想以UTC格式解析或显示片刻,可以使用moment.utc()代替moment()

     

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

     

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

这假设您总是想要用户的本地时间。如果您想要一个特定的时区(伦敦)可能是用户的时区而且不是UTC,那么您应该使用Takuy​​a指出的库回答。在这样做之前我会仔细考虑 - 虽然可能是一种明智的方法,但你至少应该先验证一下。在用户U 2 的时区中显示用户U 1 的时间通常是合理的 - 但是在这里您使用修复了时区。只有当你知道U 2 将永远在伦敦时,这才是合适的。如果实际上U 2 在某个其他区域 - 与U 1 相同或不同,那么真的会让人感到困惑。