Как получить метку времени (UNIX timestamp)?

342
12 июня 2017, 23:44

Как можно получить метку времени в JS?

Перевод вопроса "How do you get a timestamp in JavaScript?"

Answer 1
+new Date();

Оператор + в данном случае приводит операнд к числу, вызывая valueOf, на что объект Date возвращает временную метку в виде числа (number).

Date.now();

Это метод объект Date, а не его прототипа для экземпляров, поэтому нет необходимости в создании экземпляра для получения timestamp.
Поддерживается всеми современными браузерами.

new Date().getTime();

Получение метки из экземпляра, так же поддерживается старыми браузерами, поэтому может быть полифиллом там, где нет Date.now (не дай Бог, чтобы была необходимость поддерживать столь старые интерпретаторы):

if (!Date.now) {
    Date.now = function() { return new Date().getTime(); }
}
new Date().valueOf();

Числовое значение объекта, то, что получаем через унарный плюс.

Пример работы и конвертация в другие представления:

let timestamp = Date.now(); 
 
console.info("Миллисекунды: " + timestamp); 
console.info("Секунды: " + timestamp / 1000); 
console.info("Минуты: " + timestamp / 1000 / 60); 
console.info("Часы: " + timestamp / 1000 / 60 / 60); 
console.info("Дни: " + timestamp /1000 / 60 / 60 / 24); 
console.info("Года: " + timestamp  /1000 / 60 / 60 / 24 / 365);

Answer 2

Метод Date.now()

Метод Date.now() возвращает дату сразу в виде миллисекунд.

Технически, он аналогичен вызову +new Date(), но в отличие от него не создаёт промежуточный объект даты, а поэтому – во много раз быстрее.

Его использование особенно рекомендуется там, где производительность при работе с датами критична. Обычно это не на веб-страницах, а, к примеру, в разработке игр на JavaScript.

console.log(Date.now());

Answer 3

Миллисекунды проще всего получить так -

console.log(Date.now()%1000)

READ ALSO
Как связать событие DOM-элемента и объект JavaScript?

Как связать событие DOM-элемента и объект JavaScript?

Простой пример, я кликаю на некий блок на веб-странице и мне нужно, чтобы объект JS, не связанный с этим DOM-элементом (не BOM этого элемента), понял,...

415
Сдвиг значений в массиве, splice

Сдвиг значений в массиве, splice

Доброго времени суток, код будущего морского боя

262
Laravel/PHP или Express/Node.JS, что выбрать? [требует правки]

Laravel/PHP или Express/Node.JS, что выбрать? [требует правки]

Не могу выбрать на чем делать бекенд проектаСама суть проекта это CMS Магазинов (допустим)

386
Яндекс календарь

Яндекс календарь

Доброго времени сутокКто-нибудь работать с яндекс календарём? Есть необходимость сделать онлайн запись на приём и прикрутить её к календарю

494