Estoy tratando de calcular la diferencia entre dos veces usando JavaScript. Es solo matemática básica, pero parece que tengo algunos problemas al usar JSON.stringify()
y JSON.parse()
.Problemas con la fecha() al usar JSON.stringify() y JSON.parse()
Si se pregunta por qué estoy aplicando la función JSON.stringify()
a la fecha, es porque utilizo el almacenamiento local para almacenar algunos datos del lado del cliente y usarlos cada vez que el cliente aterrice en mi sitio web (es más rápido). en lugar de hacer más solicitudes al servidor). Esa información generalmente se actualiza de vez en cuando (estoy tomando los datos a través de API de otro sitio web), así que configuré una variable data_update
y la estoy almacenando junto con los otros datos.
De esta manera agarro los datos almacenados del almacenamiento local y verifico si la diferencia entre data_update
(que es una fecha/hora) y la hora/fecha cuando el cheque está hecho y veo si es más de una semana/día/etc.
Esa es la razón por la que estoy usando las funciones JSON. Mi problema es que cuando estoy analizando los datos del almacenamiento local, la fecha parece ser diferente de un objeto Date()
.
que estoy tratando de hacer la siguiente operación por decir:
var x = JSON.parse(JSON.stringify(new Date()));
var y = JSON.parse(this.get_local_storage_data(this.data_cache_key)); // the data object stored on local storage
var q = y.data_update; // this is the variable where the Date() was stored
console.log(Math.floor((x-q)/1000));
El anterior devolverá null
. También cuando quiero ver el resultado Math.floor(x)
, devuelve null
nuevamente.
Entonces, ¿qué puedo hacer en esta situación? ¿Hay una solución para esto?
Usted puede evitar el agro como éste por utilizando una envoltura localStorage como rhaboo en lugar de stringify/parse, que tiene muchas otras imprecisiones además de esta. –