now - convertir la fecha de iso a milisegundos en javascript
new date javascript format dd mm yyyy (6)
¿Puedo convertir la fecha de iso a milisegundos? Por ejemplo, quiero convertir este iso
2012-02-10T13:19:11+0000
a milisegundos.
Porque quiero comparar la fecha actual de la fecha creada. Y la fecha de creación es una fecha iso.
Algún código para manipular Fecha y hora:
1 - Ahora fecha basada en milisegundos :
var now = +new Date()
2- Convertir milisegundos hasta la fecha :
var dateFormat = new Date(''put your milliseconds time here'')
3- convertir milisegundos al formato ISO :
var isoFormat = new Date(''date in milliseconds'').toJSON()
Otra opción a partir de 2017 es usar Date.parse()
. La documentation de MDN señala, sin embargo, que no es confiable antes de ES5.
var date = new Date(); // today''s date and time in ISO format
var myDate = Date.parse(date);
Ver el fiddle para más detalles.
Otra solución podría ser usar el analizador de objetos Number de esta manera:
let result = Number(new Date("2012-02-10T13:19:11+0000"));
let resultWithGetTime = (new Date("2012-02-10T13:19:11+0000")).getTime();
console.log(result);
console.log(resultWithGetTime);
Esto se convierte a milisegundos al igual que getTime()
en el objeto Date
Otra solución posible es comparar la fecha actual con January 1, 1970
, puede obtener January 1, 1970
por una new Date(0)
;
var date = new Date();
var myDate= date - new Date(0);
Prueba esto
var date = new Date("11/21/1987 16:00:00"); // some mock date
var milliseconds = date.getTime();
// This will return you the number of milliseconds
// elapsed from January 1, 1970
// if your date is less than that date, the value will be negative
EDITAR
Usted ha proporcionado una fecha ISO. También es aceptado por el constructor del objeto Date
var myDate = new Date("2012-02-10T13:19:11+0000");
var result = myDate.getTime();
Editar
Lo mejor que he encontrado es deshacerme de la compensación manualmente.
var myDate = new Date("2012-02-10T13:19:11+0000");
var offset = myDate.getTimezoneOffset() * 60 * 1000;
var withOffset = myDate.getTime();
var withoutOffset = withOffset - offset;
alert(withOffset);
alert(withoutOffset);
Parece que funciona. En cuanto a los problemas para convertir la cadena ISO en el objeto Date
, puede consultar los enlaces provistos.
EDITAR
Se corrigió el error con la conversión incorrecta a milisegundos según el comentario de Prasad19sara.
Una abreviatura de las soluciones anteriores es
var myDate = +new Date("2012-02-10T13:19:11+0000");
Hace una conversión de tipo sobre la marcha y emite directamente la fecha en formato de milisegundos.
Otra forma también es usar el método de análisis de fecha utilitario que solo genera el tiempo de EPOCH en milisegundos.
var myDate = Date.parse("2012-02-10T13:19:11+0000");