【发布时间】:2019-03-09 21:55:14
【问题描述】:
我的服务器将日期数据作为本地时区时间戳返回。
在客户端,我想将这些日期显示为本地日期字符串。如果我执行以下操作,我得到了错误的日期(“6/30/2014”而不是“7/01/2014”)
var ts = 1404172800;
new Date(1404172800*1000).toLocaleDateString()
>>>"6/30/2014"
为了防止这个问题,我想我必须在创建 new Date() 对象之前将从服务器接收到的本地时区时间戳转换为 UTC 时间戳。
我说的对吗?在大多数浏览器中实现这一目标的最佳方法是什么?
编辑:
我确认本地时区的实际日期应该是 2014 年 7 月 1 日。那是当地东部时间 UTC -5(-4)。但new Date() 对象认为这是 UTC 但事实并非如此。我想这是因为日期作为时间戳返回而没有转换为 UTC。
【问题讨论】:
-
6/30/2014可能是正确的。 -
我确认本地时区的实际日期应该是 7/01/2014。那是当地东部时间 UTC -5(-4)。但新的 Date() 对象认为这是 UTC 但事实并非如此。我想问题是日期作为时间戳返回而没有转换为UTC。
标签: javascript timestamp