Heim > Backend-Entwicklung > Golang > Warum führt die manuelle Konvertierung von UTC in Ortszeit in Go oft zu falschen Ergebnissen?

Warum führt die manuelle Konvertierung von UTC in Ortszeit in Go oft zu falschen Ergebnissen?

Susan Sarandon
Freigeben: 2024-12-22 14:15:13
Original
480 Leute haben es durchsucht

Why Does Manually Converting UTC to Local Time in Go Often Produce Incorrect Results?

UTC in Ortszeit in Go umrechnen: Fehlerbehebung bei falschen Ergebnissen

Beim Umrechnen von UTC in Ortszeit ist es wichtig, Zeitzonenunterschiede zu berücksichtigen die richtige Methode zum Durchführen der Konvertierung.

Im bereitgestellten Code-Snippet der Versuch, den Zeitzonen-Offset manuell hinzuzufügen als Eine Dauer bis zur aktuellen UTC-Zeit kann aufgrund von Faktoren wie der Sommerzeit zu falschen Ergebnissen führen.

Zeitzonenzuordnung:

Der Code basiert auf einer statischen Karte um Zeitzonenversätze zu speichern. Ein zuverlässigerer Ansatz besteht darin, die Funktion time.LoadLocation zu verwenden, die Zeitzoneninformationen basierend auf dem angegebenen Namen dynamisch lädt. Dies gewährleistet die Genauigkeit von Zeitzonenunterschieden.

Integrierte Zeitzonenkonvertierung:

Anstatt die Zeit manuell anzupassen, wird empfohlen, die time.In-Methode zu verwenden , wodurch der Zeitstempel in eine bestimmte Zeitzone konvertiert wird. Dies berücksichtigt die aktuellen Einstellungen und Sommerzeitanpassungen und liefert genauere Ergebnisse.

Code示例:

var countryTz = map[string]string{
    "Hungary": "Europe/Budapest",
    "Egypt":   "Africa/Cairo",
}

func timeIn(name string) time.Time {
    loc, err := time.LoadLocation(countryTz[name])
    if err != nil {
        panic(err)
    }
    return time.Now().In(loc)
}

func main() {
    utc := time.Now().UTC().Format("15:04")
    hun := timeIn("Hungary").Format("15:04")
    eg := timeIn("Egypt").Format("15:04")
    fmt.Println(utc, hun, eg)
}
Nach dem Login kopieren

Durch die Verwendung von time.LoadLocation und time. Dieser überarbeitete Code stellt sicher, dass die Ortszeit unter Berücksichtigung von Zeitzonenunterschieden und Sommerzeit korrekt von UTC umgerechnet wird.

Das obige ist der detaillierte Inhalt vonWarum führt die manuelle Konvertierung von UTC in Ortszeit in Go oft zu falschen Ergebnissen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage