Respuestas:
var seconds = new Date() / 1000;
O, para una versión menos hacky:
var d = new Date();
var seconds = d.getTime() / 1000;
No se olvide Math.floor()o Math.round()para redondear al número entero más próximo o es posible obtener una cifra decimal muy extraño que no desea:
var d = new Date();
var seconds = Math.round(d.getTime() / 1000);
Number(new Date())para obtener un número, o incluso +(new Date()), o usar cualquier instancia de Fecha en un contexto numérico como new Date()/1000JavaScript y la convertirá de manera útil a un número para trabajar con sus ecuaciones matemáticas.
Prueba esto:
new Date().getTime() / 1000
Es posible que desee utilizar Math.floor()o Math.round()cortar la fracción de milisegundos.
Querías segundos desde la época
function seconds_since_epoch(){ return Math.floor( Date.now() / 1000 ) }
ejemplo de uso
foo = seconds_since_epoch();
Las soluciones anteriores usan propiedades de instancia. Otra forma es usar la propiedad de clase Date.now:
var time_in_millis = Date.now();
var time_in_seconds = time_in_millis / 1000;
Si desea que time_in_seconds sea un entero, tiene 2 opciones:
a. Si desea ser coherente con el truncamiento de estilo C:
time_in_seconds_int = time_in_seconds >= 0 ?
Math.floor(time_in_seconds) : Math.ceil(time_in_seconds);
si. Si solo desea tener la definición matemática de la división de enteros, simplemente tome la palabra. (La división entera de Python hace esto).
time_in_seconds_int = Math.floor(time_in_seconds);
Si desea solo segundos como un número entero sin los decimales que representan milisegundos todavía conectados, use esto:
var seconds = Math.floor(new Date() / 1000);
Mi forma preferida
var msEpoch = (+new Date());
var sEpoch = (+new Date()) / 1000;
Para más información sobre el + salto por la madriguera del conejo .
La versión más simple:
Math.floor(Date.now() / 1000)
En Chrome puedes abrir la consola con F12 y probar el siguiente código:
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;<- ¿Qué tipo de magia arcana es esta?