Problemas com Date () ao usar JSON.stringify () e JSON.parse ()
Eu estou tentando calcular a diferença entre duas vezes usando JavaScript. É apenas matemática básica, mas eu pareço ter alguns problemas com isso enquanto estiver usandoJSON.stringify()
eJSON.parse()
.
Se você está se perguntando por que estou aplicando oJSON.stringify()
função para a data, é porque eu uso o armazenamento local para armazenar alguns dados no lado do cliente e usá-lo sempre que o cliente chega ao meu site novamente (é mais rápido assim, em vez de fazer mais solicitações para o servidor). Esses dados geralmente são atualizados de vez em quando (eu estou pegando os dados através da API de outro site), então eu configurei umdata_update
variável e eu estou armazenando junto com os outros dados.
Dessa forma eu estou pegando os dados armazenados a partir do armazenamento local e verificar se a diferença entredata_update
(que é uma data / hora) e a hora / data em que o cheque é feito e ver se é maior que uma semana / dia / etc.
Então essa é a razão pela qual estou usando as funções JSON. Meu problema é que quando estou analisando os dados do armazenamento local, a data parece ser diferente de umDate()
objeto.
Eu estou tentando fazer a próxima operação por dizer:
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));
O acima irá retornarnull
. Também quando eu quero ver oMath.floor(x)
resultado, ele retornanull
novamente.
Então, o que posso fazer nesta situação? Existe uma correção para isso ?