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?