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!