Heim >Backend-Entwicklung >Golang >Wie kann ich Zeitzonen in Go richtig analysieren und verarbeiten?
Zeitzonen in Go korrekt verwenden
Beim Versuch, Zeitzonencodes zu analysieren, ist es wichtig, die Nuancen zu verstehen, wie Zeitzonen in Go gehandhabt werden .
Der von Ihnen bereitgestellte Code richtet eine Funktion namens parseAndPrint ein, die eine Zeitinstanz und eine benötigt Zeitzonenabkürzung als Argumente. Unabhängig von der von Ihnen angegebenen Zeitzone lautet die Ausgabe der Funktion jedoch immer „05:00:00 0000 UTC“.
Das Problem entsteht, weil Sie die Zeit an Ihrem aktuellen Standort analysieren, die möglicherweise davon abweicht die gewünschte Zeitzone. Die time.Parse-Funktion von Go geht davon aus, dass Sie am aktuellen Standort analysieren, es sei denn, dies wird explizit mit einer time.Location angegeben.
Um eine Zeit in einer bestimmten Zeitzone korrekt zu analysieren, sollten Sie die folgenden Schritte ausführen:
Hier ist ein Beispiel, wie Sie diese Schritte in Ihrem Code verwenden können:
func parseAndPrintWithLocation(now time.Time, timezone string) { location, err := time.LoadLocation(timezone) if err != nil { fmt.Println(err) return } test, err := time.ParseInLocation("15:04:05 MST", fmt.Sprintf("05:00:00", timezone), location) if err != nil { fmt.Println(err) return } test = time.Date( now.Year(), now.Month(), now.Day(), test.Hour(), test.Minute(), test.Second(), test.Nanosecond(), test.Location(), ) fmt.Println(test) }
Durch die Verwendung Durch den richtigen Ansatz mit Zeitzonenstandorten können Sie sicherstellen, dass die analysierte Zeit die gewünschte Zeitzone widerspiegelt, sodass Ihr Code Zeiten aus verschiedenen Regionen genau verarbeiten kann.
Das obige ist der detaillierte Inhalt vonWie kann ich Zeitzonen in Go richtig analysieren und verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!