将UTC纪元转换为本地日期
我已经为此战斗了一段时间。我正在尝试将纪元转换为日期对象。时代以UTC发送给我。每当您经过new
Date()一个纪元时,它就会假定它是本地纪元。我尝试创建一个UTC对象,然后使用setTime()
它来将其调整为适当的纪元,但是似乎有用的唯一方法是toUTCString()
字符串对我没有帮助。如果我将该字符串传递给新日期,则应该注意它是UTC,但不是。
new Date( new Date().toUTCString() ).toLocaleString()
我的下一个尝试是尝试获取本地当前时间段与UTC当前时间段之间的差异,但是我也无法做到这一点。
new Date( new Date().toUTCString() ).getTime() - new Date().getTime()
它只给我很小的差异,不到1000,以毫秒为单位。
有什么建议?
回答:
我想我有一个更简单的解决方案-
将初始日期设置为纪元并添加UTC单位。假设您有一个以秒为单位存储的UTC纪元变量。如何1234567890
。要将其转换为当地时区的正确日期:
var utcSeconds = 1234567890;var d = new Date(0); // The 0 there is the key, which sets the date to the epoch
d.setUTCSeconds(utcSeconds);
d
现在是一个日期(在我的时区中)设置为 Fri Feb 13 2009 18:31:30 GMT-0500 (EST)
以上是 将UTC纪元转换为本地日期 的全部内容, 来源链接: utcz.com/qa/408782.html