【问题标题】:Understanding momentjs timezones了解 momentjs 时区
【发布时间】:2015-05-12 11:11:42
【问题描述】:

我在我的项目中使用momentjs

要以给定格式获取当前日期和时间,我正在使用这个:

moment().format('ddd, D MMM HH:mm'); // Tue, 12 May 12:01

如果我输出这个并在我的浏览器中查看,我会看到 5 月 12 日星期二 12:01。我目前在伦敦,这是 UTC+1。如果有人在佛罗里达州做了同样的事情,我想他们会看到 5 月 12 日星期二 07:01 (UTC-4)?

我的问题

如何确保每个人都能看到 UTC+1 时间,无论他们身在何处?我认为以下方法可以做到,但不确定。

moment().tz('Europe/London').format('ddd, D MMM HH:mm'); // Tue, 12 May 12:01

希望有人能解释一下。

【问题讨论】:

  • 你测试了吗?在不知道momentjs的api的情况下,看起来很合理。您在浏览器中尝试过吗?
  • 我只能在我自己的浏览器中进行测试,它可以按预期工作(我在英国伦敦)。但我无法在世界其他地方的浏览器中进行测试
  • 您可以更改计算机的时区 =)
  • 当然也可以使用不同的时区进行测试,例如America/New_York
  • 很公平,但练习可能仍然很有价值;)在基本计算机技能下归档。

标签: javascript timezone momentjs


【解决方案1】:

是的,应该可以:

var now = new Date();

snippet.log("Default: " + moment(now).format('ddd, D MMM HH:mm z'));
snippet.log("Europe/London: " + moment(now).tz('Europe/London').format('ddd, D MMM HH:mm z'));
snippet.log("America/New_York: " + moment(now).tz('America/New_York').format('ddd, D MMM HH:mm z'));
<script src="http://momentjs.com/downloads/moment.js"></script>
<script src="http://momentjs.com/downloads/moment-timezone-with-data-2010-2020.js"></script>
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

【讨论】:

  • 运行代码 sn-p,我的“默认”时间与欧洲/伦敦匹配(我假设那是因为我在伦敦?)。那么,如果有人从纽约运行这个,“默认”时间会匹配 America/New_York?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-22
  • 2016-02-13
  • 2015-05-21
  • 1970-01-01
相关资源
最近更新 更多