Probleme mit Date () bei Verwendung von JSON.stringify () und JSON.parse ()

Ich versuche, die Differenz zwischen zwei Zeiten mit JavaScript zu berechnen. Es ist nur einfache Mathematik, aber ich scheine einige Probleme damit zu haben, während ich es benutzeJSON.stringify() undJSON.parse().

Wenn Sie sich fragen, warum bewerbe ich michJSON.stringify() Das liegt daran, dass ich mit lokalem Speicher einige Daten auf der Client-Seite speichere und sie immer dann verwende, wenn der Client wieder auf meiner Website landet. Diese Daten werden in der Regel von Zeit zu Zeit aktualisiert (ich rufe die Daten über eine API von einer anderen Website ab)data_update Variable und ich speichere es zusammen mit den anderen Daten.

Auf diese Weise hole ich die gespeicherten Daten aus dem lokalen Speicher und überprüfe, ob der Unterschied zwischendata_update (das ist ein Datum / eine Uhrzeit) und die Uhrzeit / das Datum, an dem die Prüfung durchgeführt wurde und ob sie größer ist als eine Woche / ein Tag / usw.

Aus diesem Grund verwende ich die JSON-Funktionen. Mein Problem ist, dass sich das Datum beim Parsen der Daten aus dem lokalen Speicher von einem unterscheidetDate() Objekt.

Ich versuche, die nächste Operation durchzuführen, indem ich sage:

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

Das obige wird zurückkehrennull. Auch wenn ich das sehen willMath.floor(x) Ergebnis, es kehrt zurücknull nochmal.

Was kann ich in dieser Situation tun? Gibt es eine Lösung dafür?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage