Heim >Backend-Entwicklung >Golang >Wie konvertiere ich die UTC-Zeit in Go genau in eine bestimmte Zeitzone?

Wie konvertiere ich die UTC-Zeit in Go genau in eine bestimmte Zeitzone?

Susan Sarandon
Susan SarandonOriginal
2024-12-19 02:14:08303Durchsuche

How to Accurately Convert UTC Time to a Specific Time Zone in Go?

Konvertieren der UTC-Zeit in eine bestimmte Zeitzone in Go with time.LoadLocation

Bei der Konvertierung der UTC-Zeit in eine bestimmte Ortszeit ist dies unbedingt zu berücksichtigen Zeitzoneninformationen für Genauigkeit. Der Versuch, Zeitunterschiede manuell hinzuzufügen, kann zu falschen Ergebnissen führen.

Stattdessen besteht der bevorzugte Ansatz in Go darin, time.LoadLocation zu verwenden, um die Zeitzoneninformationen für den gewünschten Standort abzurufen. Hier ist ein korrigiertes Go-Codebeispiel:

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

In diesem Beispiel wird eine Karte (countryTz) verwendet, um Ländernamen mit den entsprechenden Zeitzonenzeichenfolgen zu verknüpfen. Die timeIn-Funktion nimmt den Ländernamen, lädt die Zeitzoneninformationen mit time.LoadLocation und gibt die aktuelle Zeit in dieser bestimmten Zeitzone zurück.

Die Hauptfunktion druckt dann die UTC-Zeit und die Ortszeiten für Ungarn und Ägypten mit timeIn. Dieser Ansatz stellt sicher, dass Unterschiede in Zeitzonen und Sommerzeit korrekt gehandhabt werden.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich die UTC-Zeit in Go genau in eine bestimmte Zeitzone?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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