¿Cómo obtengo la fecha/hora actual en segundos en Javascript?Obtener la fecha/hora actual en segundos
Respuesta
var seconds = new Date().getTime()/1000;
... .le dará los segundos desde la medianoche del 1 de enero de 1970
Si bien esto es preciso, ¿cuándo sería útil alguna vez? :) –
@ sje397 - Sí ... pero la pregunta (como la mayoría en SO) es más probable que resuelva un problema * práctico *, ¿podría darme un ejemplo en el que desea mostrar este resultado? –
@Nick - Creo que todos los ejemplos son necesariamente especulativos y sonarán artificiales, pero daré una oportunidad :) Supongamos que tiene datos de tiempo marcados con tiempo Unix y desea determinar su edad. Aunque creo que esto es lo que probablemente significa "la fecha/hora actual en segundos"; solo mi instinto. – sje397
Basado en su comentario, creo que usted está buscando algo como esto:
var timeout = new Date().getTime() + 15*60*1000; //add 15 minutes;
Luego, en su cheque, usted está comprobando:
if(new Date().getTime() > timeout) {
alert("Session has expired");
}
para obtener el número de segundos desde el uso Javascript época:
date = new Date();
milliseconds = date.getTime();
seconds = milliseconds/1000;
Date.now()
da milisegundos desde la época. No es necesario usar new
.
Mira la referencia aquí: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now
(. No se admite en IE8)
Usando new Date().getTime()/1000
es una solución incompleta para la obtención de los segundos, ya que produce las marcas de tiempo con las 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 son también más seguro para las sentencias condicionales, como 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
forma más elegante para obtener el tiempo en segundos/milisegundos desde ene 1 1970 está
var milliseconds = +new Date();
var seconds = milliseconds/1000;
Permítanme sugerir una mejor atajo:
+new Date # Milliseconds since Linux epoch
+new Date/1000 # Seconds since Linux epoch
Math.round(+new Date/1000) #Seconds without decimals since Linux epoch
// 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>
Estos JavaScript soluciones que dan los milisegundos o los segundos desde la medianoche, el 1 de enero de 1970.
La solución 9+ IE (IE 8 o la versión anterior no es compatible con 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.
tener cuidado de usar, si usted no quiere algo así como este caso.
if(1000000 < Math.round(1000000.2)) // false.
- 1. obtener la hora actual en segundos
- 2. Obtener un DateTime restando segundos desde la fecha actual
- 3. Cómo obtener segundos transcurridos desde la medianoche
- 4. Agregue x segundos a la fecha actual en Linux
- 5. Obtener el tiempo actual en segundos desde el Epoch en Linux, Bash
- 6. ¿Admite el marco de .NET obtener la hora actual en segundos basada en la marca de tiempo de UNIX?
- 7. Cómo obtener la hora actual en milisegundos programación en C
- 8. Cómo obtener la hora actual
- 9. Obtener la hora actual en C
- 10. ¿Cómo obtener la ruta actual en HtmlHelper?
- 11. cómo obtener la posición actual en FragmentPagerAdapter?
- 12. Cómo obtener la aplicación actual en Django
- 13. ¿Cómo obtener actividad actual en la pantalla?
- 14. Cómo obtener etiquetas en la confirmación actual
- 15. ¿Cómo suspender el hilo actual durante 20 segundos en java?
- 16. JAXB no lanza un error en mal fechaHora valores
- 17. calendario Java obtenga la fecha actual, sin horas, minutos, segundos y milisegundos, en milisegundos
- 18. Obtener la moneda de la cultura actual?
- 19. obtener la URL de la solicitud actual
- 20. Obtener URL actual en Python
- 21. obtener la página actual de la url
- 22. FreeMarker - Obtener URL actual
- 23. Obtener URL actual (UIWebView)
- 24. ¿Cómo obtener la hora actual del GPS?
- 25. de cómo obtener la URL actual
- 26. Obtener el color actual
- 27. Android PagerAdapter, obtener la posición actual
- 28. Obtener la hora actual del sistema?
- 29. Obtener dominio actual
- 30. Obtener la URL actual de IFRAME
duplicado posible de [¿Cómo se obtiene una marca de tiempo en JavaScript?] (Http://stackoverflow.com/questions/221294/how-do-you-get-a-timestamp-in-javascript) – GottZ