В Unix я могу запустить date '+%s'
, чтобы получить количество секунд с эпохи. Но мне нужно запросить это в интерфейсе браузера, а не в фоновом режиме.
Есть ли способ узнать секунды с Эпохи в JavaScript?
В Unix я могу запустить date '+%s'
, чтобы получить количество секунд с эпохи. Но мне нужно запросить это в интерфейсе браузера, а не в фоновом режиме.
Есть ли способ узнать секунды с Эпохи в JavaScript?
var seconds = new Date() / 1000;
Или для менее взломанной версии:
var d = new Date();
var seconds = d.getTime() / 1000;
Не забудьте Math.floor()
или Math.round()
округлить до ближайшего целого числа, или вы можете получить очень нечетное десятичное число, которое вам не нужно:
var d = new Date();
var seconds = Math.round(d.getTime() / 1000);
Попробуйте следующее:
new Date().getTime() / 1000
Вы можете использовать Math.floor()
или Math.round()
для сокращения доли миллисекунд.
Вам нужны секунды с эпохи
function seconds_since_epoch(){ return Math.floor( Date.now() / 1000 ) }
Пример использования
foo = seconds_since_epoch();
В приведенных выше решениях используются свойства экземпляра. Другой способ - использовать свойство класса Date.now
:
var time_in_millis = Date.now();
var time_in_seconds = time_in_millis / 1000;
Если вы хотите, чтобы time_in_seconds было целым числом, у вас есть 2 варианта:
а. Если вы хотите быть в курсе усечения C-стиля:
time_in_seconds_int = time_in_seconds >= 0 ?
Math.floor(time_in_seconds) : Math.ceil(time_in_seconds);
б. Если вы хотите просто провести математическое определение целочисленного деления, просто возьмите слово. (Целочисленное деление Python делает это).
time_in_seconds_int = Math.floor(time_in_seconds);
Вы можете создать объект Date (который будет иметь текущее время в нем), а затем вызвать getTime()
для получения ms с эпохи.
var ms = new Date().getTime();
Если вы хотите секунд, то разделите его на 1000:
var sec = new Date().getTime() / 1000;
Если вы хотите, чтобы только секунды как целое число без десятичных знаков, представляющих миллисекунды, все еще прикрепленные, используйте это:
var seconds = Math.floor(new Date() / 1000);
Мой предпочтительный способ:
var msEpoch = (+new Date());
var sEpoch = (+new Date()) / 1000;
Для получения дополнительной информации о +
спрыгните через отверстие кролика.