Heim > Backend-Entwicklung > Golang > Warum interpretiert „time.Parse' von Go Zeitzonenkennungen wie „EDT' falsch?

Warum interpretiert „time.Parse' von Go Zeitzonenkennungen wie „EDT' falsch?

Patricia Arquette
Freigeben: 2024-11-25 14:53:12
Original
235 Leute haben es durchsucht

Why Does Go's `time.Parse` Misinterpret Timezone Identifiers Like

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
Nach dem Login kopieren

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:

  • Geben Sie einen numerischen Zonenversatz an:Parsen Sie mit einem Layout, das Enthält den numerischen Zonenoffset, z. B. 2006 01 02 15:04 -0400.
  • Verwenden Sie ParseInLocation: Geben Sie den Ort explizit mit time.LoadLocation an, z. B. time.ParseInLocation(format, date , time.LoadLocation("America/New_York")).

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!

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