recorrer - tablas dinamicas html javascript
¿Cómo puedo obtener segundos desde época en Javascript? (7)
En Unix, puedo ejecutar la date ''+%s''
para obtener la cantidad de segundos desde la época. Pero necesito consultar eso en la interfaz de un navegador, no en el back-end.
¿Hay alguna forma de averiguar segundos desde Epoch en JavaScript?
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 quieres ser coherente con el estilo de truncamiento C:
time_in_seconds_int = time_in_seconds >= 0 ?
Math.floor(time_in_seconds) : Math.ceil(time_in_seconds);
segundo. Si desea tener la definición matemática de división de números enteros para contener, simplemente tome la palabra. (La división entera de Python hace esto).
time_in_seconds_int = Math.floor(time_in_seconds);
Mi forma preferida:
var msEpoch = (+new Date());
var sEpoch = (+new Date()) / 1000;
Para obtener más información sobre el +
saltar por el agujero del conejo .
Prueba esto:
new Date().getTime() / 1000
Es posible que desee utilizar Math.floor()
o Math.round()
para reducir la fracción de milisegundos.
Puede crear un objeto Date (que tendrá la hora actual en él) y luego llamar a getTime()
para obtener el ms desde época.
var ms = new Date().getTime();
Si quiere segundos, luego divídalo por 1000:
var sec = new Date().getTime() / 1000;
Querías segundos desde época
function seconds_since_epoch(){ return Math.floor( Date.now() / 1000 ) }
ejemplo de uso
foo = seconds_since_epoch();
Si solo quiere segundos como un número entero sin los decimales que representan milisegundos todavía adjuntos, use esto:
var seconds = Math.floor(new Date() / 1000);
var seconds = new Date() / 1000;
O, para una versión menos hacky:
var d = new Date();
var seconds = d.getTime() / 1000;
No te olvides de Math.floor()
o Math.round()
para redondear al número entero más cercano o puedes obtener un decimal muy extraño que no deseas:
var d = new Date();
var seconds = Math.round(d.getTime() / 1000);