Когда время системы неверно, как я могу получить правильное время в JavaScript? - PullRequest
0 голосов
/ 26 октября 2018
let currentDate = new Date();

CurrentDate относится ко времени системы, поэтому, если системное время неверно, currentDate будет неправильным.

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Если 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 возвращает минуты, прошедшие с начала эпохи.Преобразуйте его в миллисекунды, а затем создайте объект даты

0 голосов
/ 26 октября 2018

Вы можете использовать API атомных часов, например, World Clock:

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 и моментом получения ответа будет задержка.Вы также можете предоставить свою собственную конечную точку на стороне сервера, если у вас есть контроль над этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...