Problemy z Date () podczas używania JSON.stringify () i JSON.parse ()

Próbuję obliczyć różnicę między dwukrotnym użyciem JavaScript. To tylko podstawowa matematyka, ale wydaje mi się, że mam z tym pewne problemy podczas używaniaJSON.stringify() iJSON.parse().

Jeśli zastanawiasz się, dlaczego stosujęJSON.stringify() funkcja do daty, ponieważ używam lokalnej pamięci do przechowywania niektórych danych po stronie klienta i używam jej, gdy klient ponownie ląduje na mojej stronie internetowej (w ten sposób szybciej niż w przypadku wysyłania większej liczby żądań do serwera). Dane te są zazwyczaj aktualizowane raz na jakiś czas (przechwytuję dane przez interfejs API z innej witryny), więc skonfigurowałemdata_update zmienna i przechowuję ją razem z innymi danymi.

W ten sposób przechwytuję przechowywane dane z lokalnego magazynu i sprawdzam, czy różnica międzydata_update (która jest datą / godziną) i czasem / datą, kiedy sprawdzenie jest wykonane i zobacz, czy jest ono dłuższe niż tydzień / dzień / itd.

To jest powód, dla którego używam funkcji JSON. Moim problemem jest to, że kiedy analizuję dane z lokalnej pamięci, data wydaje się być inna niż aDate() obiekt.

Próbuję wykonać następną operację, mówiąc:

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));

Powyższe powrócinull. Także kiedy chcę zobaczyćMath.floor(x) wynik, wracanull jeszcze raz.

Więc co mogę zrobić w tej sytuacji? Czy jest na to jakiś problem?

questionAnswers(2)

yourAnswerToTheQuestion