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

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

阅读 43.4k
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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏