js中的Date怎么指定转换时区?

shrekshen
  • 150

比如现在x = 1526559600000
Date(x)返回的是北京时间UTC+8时区时间,而实际上这是个UTC+0时区时间。麻烦各位看看

回复
阅读 22.1k
4 个回答

1.时间戳
let timestamp = Date.now();
问个问题,在不同的时区同时运行这行代码,返回的数值相同吗?答案是相同的。
JS的时间戳指的是某个地方从之前的某个点开始,距离现在的毫秒数。
如果你在格林威治,你的起始时间是1970年01月01日01时00分00秒。
如果你在中国北京,你的起始时间是1970年01月01日08时00分00秒。

所以,时间戳是不带有时区信息的

说的再明白点。
我在北京获取到时间戳:let timestamp = Date.now();
同时你在美国用这个时间戳生成时间对象new Date(timestamp),它就比我慢12个小时。

2.转化时间
本地时间 减去 与目标地点时区的差值就行,与时间戳没关。

你x减掉8个小时的时间戳

npm install moment

你知道吗?

宣传栏