Heim > Backend-Entwicklung > Golang > Warum kann „time.Parse()' von Go Zeitzonenkennungen nicht genau analysieren?

Warum kann „time.Parse()' von Go Zeitzonenkennungen nicht genau analysieren?

Barbara Streisand
Freigeben: 2024-12-01 06:33:14
Original
1031 Leute haben es durchsucht

Why Does Go's `time.Parse()` Fail to Parse Timezone Identifiers Accurately?

Go's Time.Parse() analysiert keine Zeitzonenkennungen

Im bereitgestellten Code wird die Funktion time.Parse() verwendet Analysieren Sie eine Zeichenfolge in ein time.Time-Objekt. Die Funktion analysiert jedoch nicht die Zeitzonenkennung in der Zeichenfolge, was zu einem Zeitobjekt führt, das nicht genau ist.

Laut der Dokumentation zu time.Parse() besteht das Standardverhalten der Funktion darin, die zu verwenden Die Zeitzone des aktuellen Standorts, wenn eine Zonenabkürzung wie MST angezeigt wird. Dies erklärt, warum die erste und dritte Zeile in der Ausgabe falsch sind, da der aktuelle Standort auf CST eingestellt ist. Konkret wird die Zeichenfolge „EDT“ als „Eastern Daylight Time“ interpretiert und der Zeitzonenversatz für CST verwendet, der -0500 beträgt.

Um dieses Problem zu vermeiden und Zeitzonenkennungen korrekt zu analysieren, wird time.ParseInLocation ()-Funktion kann verwendet werden. Für diese Funktion müssen Sie den Speicherort angeben, der beim Parsen der Zeitzeichenfolge verwendet werden soll. In diesem Fall könnte der Standort „Amerika/New_York“ verwendet werden, um die Zeitzonenkennung „EDT“ korrekt zu analysieren.

Alternativ kann eine Layoutzeichenfolge in time.Parse() geändert werden, um den Offset in explizit anzugeben die Layoutzeichenfolge selbst, wie zum Beispiel:

format := "2006 01 02 15:04 -0400 MST"
tn, _ := time.Parse(format, date)
Nach dem Login kopieren

Durch die Verwendung einer dieser Methoden wird sichergestellt, dass time.Parse() Zeitzonenkennungen genau analysiert und erstellt ein time.Time-Objekt mit dem richtigen Offset.

Das obige ist der detaillierte Inhalt vonWarum kann „time.Parse()' von Go Zeitzonenkennungen nicht genau analysieren?. 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