javascript - node - obtener fecha y hora actual jquery
Obtenga la fecha/hora actual en segundos (10)
Basado en tu comentario, creo que estás buscando algo como esto:
var timeout = new Date().getTime() + 15*60*1000; //add 15 minutes;
Luego en tu cheque, estás comprobando:
if(new Date().getTime() > timeout) {
alert("Session has expired");
}
¿Cómo obtengo la fecha / hora actual en segundos en Javascript?
El uso de new Date().getTime() / 1000
es una solución incompleta para obtener los segundos, ya que produce marcas de tiempo con unidades de punto flotante.
var timestamp = new Date() / 1000; // 1405792936.933
// Technically, .933 would be milliseconds.
Una mejor solución sería:
var timestamp = new Date() / 1000 | 0; // 1405792936
// Floors the value
// - OR -
var timestamp = Math.round(new Date() / 1000); // 1405792937
// Rounds the value
Los valores sin flotadores también son más seguros para las sentencias condicionales, ya que el flotador puede producir resultados no deseados. La granularidad que obtienes con un flotador puede ser más de lo necesario.
if (1405792936.993 < 1405792937) // true
Estas soluciones de JavaScript le dan los milisegundos o los segundos desde la medianoche del 1 de enero de 1970.
La solución IE 9+ (IE 8 o la versión anterior no admite esto):
var timestampInMilliseconds = Date.now();
var timestampInSeconds = Date.now() / 1000; // A float value; not an integer.
timestampInSeconds = Math.floor(Date.now() / 1000); // Floor it to get the seconds.
timestampInSeconds = Date.now() / 1000 | 0; // Also you can do floor it like this.
timestampInSeconds = Math.round(Date.now() / 1000); // Round it to get the seconds.
Para obtener más información sobre Date.now()
: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now
La solución genérica:
// ‘+’ operator makes the operand numeric.
// And ‘new’ operator can be used without the arguments ‘(……)’.
var timestampInMilliseconds = +new Date;
var timestampInSeconds = +new Date / 1000; // A float value; not an intger.
timestampInSeconds = Math.floor(+new Date / 1000); // Floor it to get the seconds.
timestampInSeconds = +new Date / 1000 | 0; // Also you can do floor it like this.
timestampInSeconds = Math.round(+new Date / 1000); // Round it to get the seconds.
Tenga cuidado de usar, si no quiere algo como este caso.
if(1000000 < Math.round(1000000.2)) // false.
Mejores atajos:
+new Date # Milliseconds since Linux epoch
+new Date / 1000 # Seconds since Linux epoch
Math.round(+new Date / 1000) #Seconds without decimals since Linux epoch
Para obtener el número de segundos de la época de Javascript use:
date = new Date();
milliseconds = date.getTime();
seconds = milliseconds / 1000;
Puedes conocer otra forma de obtener tiempo en segundos / milisegundos desde el 1 de enero de 1970:
var milliseconds = +new Date;
var seconds = milliseconds / 1000;
Pero tenga cuidado con este enfoque, ya que puede ser difícil leerlo y entenderlo.
// The Current Unix Timestamp
// 1443535752 seconds since Jan 01 1970. (UTC)
// Current time in seconds
console.log(Math.floor(new Date().valueOf() / 1000)); // 1443535752
console.log(Math.floor(Date.now() / 1000)); // 1443535752
console.log(Math.floor(new Date().getTime() / 1000)); // 1443535752
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
jQuery
console.log(Math.floor($.now() / 1000)); // 1443535752
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Date.now()
Da milisegundos desde la época. No hay necesidad de usar new
.
Consulte la referencia aquí: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now
(No es compatible con IE8).
Date.now()-Math.floor(Date.now()/1000/60/60/24)*24*60*60*1000
Esto debería darle los milisegundos desde el comienzo del día.
(Date.now()-Math.floor(Date.now()/1000/60/60/24)*24*60*60*1000)/1000
Esto debería darle segundos.
var seconds = new Date().getTime() / 1000;
.... te dará los segundos desde la medianoche, 1 de enero de 1970