【发布时间】:2020-03-09 00:26:15
【问题描述】:
假设我有这样的约会:
"2000-01-01T01:00:00Z"
它位于 UTC 时区。我想将时间移动到Europe/Copenhagen 时区,这样它就会是"2000-01-01T02:00:00"。
我想用moment-timezone 来做。但是问题是它总是使用我的本地时区(不是Europe/Copenhagen)。我尝试了多种方法,例如:
const date = '2000-01-01T01:00:00Z';
return moment(date).tz('Europe/Copenhagen').format('YYYY-MM-DDTHH:mm:ss');
但参考点仍然是我的本地时区。我根本不希望它使用我的本地时区。如何实现?
【问题讨论】:
-
您能否澄清“参考点是我的本地时区”的意思?上面的代码返回我期望的字符串,如果你将“Europe/Copenhagen”更改为“America/Los_Angeles”,它会返回“1999-12-31T17:00:00”,正如我所期望的那样。我不确定您在这里的期望与您实际看到的。
-
@JonSkeet 我在 Quatar 时区。上面的代码为我返回“2000-01-01T04:00:00”(考虑到我的本地浏览器时区)。它应该返回“2000-01-01T02:00:00”(哥本哈根时间)。
-
好的,所以我怀疑是
moment(date)部分没有考虑 Z。
标签: javascript datetime timezone momentjs moment-timezone