Warum analysiert die Time.Parse-Funktion von Go den Zeitzonenbezeichner nicht?
Beim Parsen einer Zeitzeichenfolge mit der time.Parse-Funktion von Go Zeitzonenkennungen wie „MST“ werden basierend auf der Einstellung „aktueller Standort“ interpretiert. Wenn der aktuelle Standort die Abkürzung nicht erkennt, wird die Zeit als an einem erfundenen Standort mit Nullpunktverschiebung aufgezeichnet.
Zur Veranschaulichung veranschaulicht das folgende Codefragment das Problem:
date := "2018 08 01 12:00 EDT" tn, _ := time.Parse(format, date) fmt.Println(tn) // Print +0000 despite EDT indicating a -0400 offset
Dieser Code analysiert die Datumszeichenfolge im Format „2006 01 02 15:04 MST“ mithilfe der Funktion „time.Parse“ und gibt dann das Ergebnis aus Zeitobjekt. Es wird jedoch „0000“ anstelle des erwarteten „-0400“ ausgegeben, da der von der Funktion verwendete aktuelle Speicherort die Abkürzung „EDT“ nicht erkennt.
Um dieses Problem zu vermeiden, können Sie alternative Methoden zum Parsen verwenden Zeitzeichenfolgen:
Durch die Nutzung dieser Methoden können Sie Zeitzeichenfolgen mit Zonenabkürzungen genau analysieren und so die korrekte Interpretation der Zeitzoneninformationen sicherstellen.
Das obige ist der detaillierte Inhalt vonWarum interpretiert „time.Parse' von Go Zeitzonenkennungen wie „EDT' falsch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!