Временная метка 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/”