Получите секунды с полуночи UTC - PullRequest
0 голосов
/ 15 сентября 2018

Мне просто нужно количество секунд с полуночи текущего дня.

Это лабиринт методов JS Date, от которых я не могу распутаться.

Я уже искалготовый фрагмент.Я пробовал это, но он возвращает местное время, а не UTC:

let date = new Date(),
    d = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(),
        date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(),
        date.getUTCSeconds())),
    e = new Date(d),
    secsSinceMidnight = Math.floor((e - d.setUTCHours(0,0,0,0)) / 1000);

1 Ответ

0 голосов
/ 15 сентября 2018

Я думаю, что вы правильно поняли, но затерялись в реализации.Ваше назначение на d - это просто очень длинный способ создания копии date , эквивалентной назначению на e .

Чтобы получить «секунды от полуночи UTC», создайте «Дату» на данный момент и вычтите ее из копии, для которой часы UTC установлены в 00: 00: 00.000.

function secsSinceUTCMidnight() {
  var d = new Date();
  var c = new Date(+d);
  return (d - c.setUTCHours(0,0,0,0)) / 1000;
}

console.log('Seconds since UTC midnight: ' + 
secsSinceUTCMidnight().toLocaleString() + '\n' + new Date().toISOString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...