„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich ein benutzerdefiniertes Datumsformat angeben, wenn das Unmarshaling XML in ein Feld "time.time" in Golanging?

Wie kann ich ein benutzerdefiniertes Datumsformat angeben, wenn das Unmarshaling XML in ein Feld "time.time" in Golanging?

Gepostet am 2025-03-25
Durchsuche:100

How to Specify a Custom Date Format When Unmarshaling XML into a `time.Time` Field in Golang?

Überwindung des Datumsformates Diskrepanzen in Golang xml unmarshal mit time Ein häufiges Problem tritt auf, wenn das von der API zurückgegebene Datumsformat nicht mit der Standardzeit übereinstimmt. Um dieses Problem zu lösen, wird unter der Frage untersucht, ob es eine Methode gibt, um ein benutzerdefiniertes Datumsformat anzugeben, wenn es in ein Zeitfeld in einem Zeitpunkt eingeleitet wird. Time.Time implementiert diese Schnittstelle jedoch nicht und verhindert, dass wir ein benutzerdefiniertes Datumsformat angeben.

Um diese Einschränkung zu überwinden, können wir einen neuen benutzerdefinierten Struct -Typ definieren, der ein Zeitpunkt der Zeit umhüllt und unsere eigene Unmarshalxml -Methode implementiert. Diese Methode analysiert den XML -Datumszeichenfolge mit unserem gewünschten Format und setzt die zugrunde liegende Zeit entsprechend. // ... Datumenteed CustomTime `XML:" Enterdate "` // Verwenden Sie unseren benutzerdefinierten Typ, der Unmarshalxml implementiert // ... } Geben Sie CustomTime Struct {ein Zeit.Time } func (c *customTime) unmarshalxml (d *xml.decoder, start xml.startElement) fehler { const scortform = "20060102" // Yyyymmdd Datumsformat var v String D.DecodeElement (& amp; v, & amp; Start) analysieren, err: = time.parse (Shortform, v) Wenn er! = nil { Return err zurück } *C = CustomTime {Parse} Null zurückkehren }

Durch die Verwendung dieser benutzerdefinierten unmarshalxml -Methode können wir unser eigenes Datumsformat effektiv angeben und sicherstellen, dass das Feld Time.Time korrekt gefüllt ist, wenn die ungemarschhaltigen XML -Daten nicht zuständig sind. Unmarshalxmlattr in ähnlicher Weise.

Für weitere Referenz zeigt der bereitgestellte Go Playground die Implementierung: http://play.golang.org/p/efxznsje4a;&&&]]]]&&&]
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3