Das Konvertieren der UTC-Epoche in ein lokales Datumsobjekt kann eine knifflige Aufgabe sein. Standardmäßig geht JavaScripts neues Date() davon aus, dass die Epochenzeit lokal ist, was zu Verwirrung beim Umgang mit UTC-Epochen führt.
Lösung 1: Verwendung der setUTCSeconds()-Methode
Anstatt ein UTC-Objekt mit setTime() anzupassen, was nicht immer zu genauen Ergebnissen führt, sollten Sie erwägen, den Anfangswert festzulegen Datum zur Epoche hinzufügen und UTC-Einheiten hinzufügen.
var utcSeconds = 1234567890; var d = new Date(0); // Sets the date to the epoch d.setUTCSeconds(utcSeconds);
Dieser Ansatz setzt das Datum direkt auf die UTC-Epoche und passt es an die gewünschten UTC-Sekunden an.
Wenn die obige Lösung nicht funktioniert, können Sie versuchen, den Zeitunterschied zwischen der lokalen aktuellen Epoche und der aktuellen UTC-Epoche zu berechnen. Hier ist eine modifizierte Version des von Ihnen bereitgestellten Codes:
var utcSeconds = 1234567890; var utcDate = new Date(utcSeconds * 1000); // Convert seconds to milliseconds var localDate = new Date(); var timeDifference = localDate.getTime() - utcDate.getTime(); console.log(timeDifference); // This should give you the time difference in milliseconds
Stellen Sie sicher, dass Sie die UTC-Sekunden in Millisekunden konvertieren, bevor Sie das utcDate-Objekt erstellen. Die Zeitdifferenz liefert dann die Millisekundendifferenz zwischen der Ortszeit und der UTC-Zeit und ermöglicht so genaue Anpassungen.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich die UTC-Epoche in JavaScript in ein lokales Datum?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!