javascript - horaria - obtener fecha y hora actual jquery
nueva fecha(milisegundos) devuelve fecha no válida (4)
Estaba recibiendo este error debido a un motivo diferente.
Leí una clave de redis cuyo valor es un json.
client.get(someid, function(error, somevalue){});
Ahora estaba tratando de acceder a los campos dentro de somevalue
(que es una cadena), como somevalue.start_time
. somevalue.start_time
, sin analizar al objeto JSON. Esto devolvió "indefinido", que si se pasa al constructor Fecha, new Date(somevalue.start_time)
devuelve "Fecha inválida".
Entonces, primero usar JSON.parse(somevalue)
para obtener el objeto JSON antes de acceder a los campos dentro de json resolvió el problema.
Estoy tratando de convertir milisegundos en una fecha usando javascript usando:
new Date(Milliseconds);
constructor, pero cuando le doy un valor de milisegundos de, por ejemplo, 1372439683000, devuelve una fecha no válida. Si voy a un sitio que convierte milisegundos a la fecha , devuelve la fecha correcta.
¿Alguna idea de por qué?
La función de Date
distingue entre mayúsculas y minúsculas:
new Date(Milliseconds);
No estás usando un número, estás usando una cadena que se parece a un número. Según MDN, cuando pasas una cadena a Date
, espera
un formato reconocido por el método de análisis sintáctico (sellos de tiempo RFC 2822 que cumplen con IETF).
Un ejemplo de dicha cadena es " December 17, 1995 03:24:00
", pero está pasando una cadena que se parece a " 1372439683000
", que no se puede analizar.
Convierte Milliseconds
en un número usando parseInt
o unario +
:
new Date(+Milliseconds);
new Date(parseInt(Milliseconds,10));
en lugar de esto
new date(Milliseconds);
utilizar esta
new Date(Milliseconds);
su estado de cuenta le dará fecha no es un error definido