Відповіді:
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);
Number(new Date())число або навіть +(new Date())використовувати або використовувати будь-який екземпляр дати в числовому контексті, наприклад, new Date()/1000а Javascript допоможе перетворити цей екземпляр дати в число для роботи з математичними рівняннями.
Спробуйте це:
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 було цілим числом, у вас є два варіанти:
а. Якщо ви хочете відповідати усіченню стилю 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);
Якщо ви хочете лише кілька секунд, як ціле число, без децималів, що представляють мілісекунди, додайте:
var seconds = Math.floor(new Date() / 1000);
Мій бажаний спосіб:
var msEpoch = (+new Date());
var sEpoch = (+new Date()) / 1000;
Для отримання додаткової інформації про + стрибок вниз у кролячу нору .
Найпростіша версія:
Math.floor(Date.now() / 1000)
У Chrome ви можете відкрити консоль за допомогою F12 і перевірити наступний код:
var date = new Date().getTime()
console.debug('date: ' + date);
if (Date.now() < date)
console.debug('ko');
else
console.debug('ok');
EPOCH means time from 01 January 1970
var date = new Date();
Following line will return the number of milliseconds from 01 Jaunary 1970
var ms = date.getTime();
Following line will convert milliseconds to seconds
var seconds = Math.floor(ms/1000);
console.log("Seconds since epoch =",seconds);
var seconds = new Date() / 1000;<- що це за таємнича магія?