Рубрики
Без рубрики

Как получить текущую метку времени в JavaScript

Узнайте, как JavaScript предлагает вам генерировать текущую временную метку UNIX

Временная метка UNIX – это целое число, представляющее количество секунд, прошедших с 1 января 1970 года .

На UNIX-подобных машинах, которые включают Linux и macOS, вы можете ввести дата +%s в терминале и получить обратно метку времени UNIX:

$ date +%s
1524379940

Текущую метку времени можно получить, вызвав метод now() на Данные объект:

Date.now()

Вы можете получить то же значение, позвонив

new Date().getTime()

or

new Date().valueOf()

Примечание: В IE8 и ниже нет метода now() на Дата . Ищите полиполнитель, если вам нужна поддержка IE8 и ниже, или используйте новая дата().getTime() если Дата.сейчас не определено (так как это то, что сделал бы полиполнитель)

Временная метка в JavaScript выражается в миллисекундах .

Чтобы получить метку времени, выраженную в секундах, преобразуйте ее с помощью:

Math.floor(Date.now() / 1000)

Примечание: в некоторых учебных пособиях используется Math.round() , но это приблизится к следующей секунде, даже если вторая не будет полностью завершена.

или, менее читаемый:

~~(Date.now() / 1000)

Я видел учебные пособия, использующие

+new Date

это может показаться странным утверждением, но это совершенно правильный код JavaScript. Унарный оператор + автоматически вызывает метод valueOf() для любого объекта, которому он назначен, который возвращает метку времени (в миллисекундах). Проблема с этим кодом заключается в том, что вы создаете экземпляр нового объекта даты, который немедленно отбрасывается.

Чтобы сгенерировать дату из метки времени, используйте новая дата (<метка времени>) но убедитесь, что вы передали число (строка даст вам результат “недопустимая дата” – используйте parseInt() сомневаюсь)

Оригинал: “https://flaviocopes.com/how-to-get-timestamp-javascript/”