Heim >Backend-Entwicklung >Golang >Golang analysiert das Datum im RFC822Z-Format ohne führende Nullen

Golang analysiert das Datum im RFC822Z-Format ohne führende Nullen

王林
王林nach vorne
2024-02-09 19:57:20966Durchsuche

Golang analysiert das Datum im RFC822Z-Format ohne führende Nullen

Beim Parsen von Datumsangaben im RFC822Z-Format in Golang kann es zu Problemen kommen, wenn Datumsformate ohne führende Nullen auftreten. Das RFC822Z-Format ist ein häufig verwendetes Datumsformat, aber manchmal haben der Monat und der Tag im Datum keine führenden Nullen. Beim Parsen von Datumsangaben in diesem Format ist eine besondere Handhabung erforderlich, andernfalls kann es zu Parsing-Fehlern kommen. In diesem Artikel wird erläutert, wie Sie mit Golang Datumsformate ohne führende Nullen analysieren und entsprechende Codebeispiele bereitstellen. Durch die Lektüre dieses Artikels erfahren Sie, wie Sie Datumsangaben im RFC822Z-Format korrekt analysieren und wie Sie mit Datumsformaten ohne führende Nullen umgehen.

Frageninhalt

Ich habe eine Datumszeichenfolge, über die ich keine Kontrolle habe, und ich versuche, sie in ein Datum zu analysieren.

Dieses Format ist rfc822z am ähnlichsten.

rfc822z="2. Januar 2006 15:04 -0700"

Referenz: https://yourbasic.org/golang/format-parse-string-time-date-example/

Es gibt jedoch keine führenden Nullen.

Beispiel: „5. Dezember 2022 20:15:21 +0000“

Die Methode, die ich in anderen Beiträgen gesehen habe, besteht darin, manuelle Formatierungen zu schreiben.

parsetime, timeparseerror = time.parse("2 jan 2006 15:04:21 -0700", stringdate)

Wenn ich dies jedoch versuche, erhalte ich die Warnung:

parsing time "2 Jan 2006 15:04:21 -0700" as "2 Jan 2006 15:04:21 -0700": cannot parse " -0700" as "1" (SA1002)

Es überrascht nicht, dass die Ausführung trotz der Warnung fehlschlug.

Problemumgehung

Ihre Zeitformate stimmen nicht überein – in Ihrem Beispiel haben Sie „5. Dezember 2022“, verwenden aber „2. Januar 06“ und in Ihrem Referenzformat haben Sie „15:04:21“, aber das sollte so sein „15:04:05“.

Ihr Referenzformat sollte 2 Jan 2006 15:04:05 -0700 而不是 2 Jan 06 15:04:21 -0700

sein

https://www.php.cn/link/efb53b87d5f5286f29b7791ec36a34f8

Das obige ist der detaillierte Inhalt vonGolang analysiert das Datum im RFC822Z-Format ohne führende Nullen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen