getLocalTime = function () {
var utcDateStr = document.getElementById('input').innerHTML ;
var utcDate = new Date(utcDateStr);
var offset = new Date().getTimezoneOffset() * 60000;
var localDate = new Date(utcDate.getTime() - offset);
var localDateStr = localDate.toLocaleString();
document.getElementById('output').innerHTML =localDateStr;
};
<p id="input">0001-01-01T00:00:00</p>
<p id="output"></p>
<button onclick="getLocalTime()">Click</button>
Here's a jsFiddle,虽然它只会在您目前处于GMT + 1时区时才有效。
我认为它可能与其他question相似,但我找不到GMT的任何进一步信息。
答案 0 :(得分:1)
尝试添加&#34; Z&#34;在你的ISO字符串的末尾,像这样"0001-01-01T00:00:00Z"
,然后做你的事情
new Date("0001-01-01T00:00:00Z") >> Mon Jan 01 0001 01:00:00 GMT+0100 (CET)
new Date("0001-01-01T00:00:00") >> Mon Jan 01 0001 00:00:00 GMT+0100 (CET)
答案 1 :(得分:0)
需要1分15秒的调整才能使本地平均时间与1847年12月1日午夜时分发生的GMT(我认为)一致。因此,之前的任何日期都是&#34;关闭&#34;到1分15秒。
来源:https://www.timeanddate.com/time/change/uk/london?year=1847
如果有人有更多来源请发帖,我无法从我粗略的谷歌搜索中找到更多信息!