当系统时间错误时,如何在javascript中获取正确的时间?

时间:2018-10-26 09:24:08

标签: javascript date

let currentDate = new Date();

CurrentDate与系统时间有关,因此,如果系统时间错误,则currentDate将是错误的。

2 个答案:

答案 0 :(得分:2)

您可以使用原子钟API,例如世界时钟:

http://worldclockapi.com/api/json/est/now

{
    "$id":"1", "currentDateTime":"2018-10-26T05:27-04:00", "utcOffset":"-04:00:00",
    "isDayLightSavingsTime":true, "dayOfTheWeek":"Friday",
    "timeZoneName":"Eastern Standard Time", "currentFileTime":131850052212461578,
    "ordinalDate":"2018-299", "serviceResponse":null
}

唯一的缺点是需要进行REST调用。因此,JavaScript调用与获得响应之间会存在延迟。如果您对此有控制权,也可以在服务器端公开自己的端点。

答案 1 :(得分:0)

如果可以选择使用HTTP请求:

let dateNow;
fetch('http://currentmillis.com/time/minutes-since-unix-epoch.php')
  .then(res => res.text())
  .then(min => {
    dateNow = new Date(parseInt(min) * 1000 * 60);
    console.log(dateNow);
  });

说明

出于性能原因,API返回自纪元以来经过的分钟数。将其转换为毫秒,然后构造日期对象