我使用momentjs lib来更新某些ajax动作的文本。我需要做的是设置当前日期&在伦敦的时间。我使用的是moment.utc()函数,但是由于夏天的时间我只有一个小时。
例如在14:26运行它
console.log( moment.utc().format('HH:mm:ss') );
我得到了13:26:53。
有关如何解决这个问题的想法吗?
答案 0 :(得分:7)
答案 1 :(得分:4)
如果您想要当地时间而不是UTC时间,请使用moment()
代替moment.utc()
。你特意要求代表UTC,所以当你获取 UTC时你不应该感到惊讶:)
来自文档:
默认情况下,时刻会以当地时间进行分析和显示。
如果您想以UTC格式解析或显示片刻,可以使用
moment.utc()
代替moment()
。这为我们带来了Moment.js的一个有趣特征。 UTC模式。
在UTC模式下,所有显示方法都将以UTC时间而不是本地时间显示。
这假设您总是想要用户的本地时间。如果您想要一个特定的时区(伦敦)可能不是用户的时区而且不是UTC,那么您应该使用Takuya指出的库回答。在这样做之前我会仔细考虑 - 虽然可能是一种明智的方法,但你至少应该先验证一下。在用户U 2 的时区中显示用户U 1 的时间通常是合理的 - 但是在这里您使用修复了时区。只有当你知道U 2 将永远在伦敦时,这才是合适的。如果实际上U 2 在某个其他区域 - 与U 1 相同或不同,那么真的会让人感到困惑。