「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > XMLをGolangの「Time.Time」フィールドに照らすときにカスタム日付形式を指定する方法は?

XMLをGolangの「Time.Time」フィールドに照らすときにカスタム日付形式を指定する方法は?

2025-03-25に投稿されました
ブラウズ:425

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

克服日XML unmarshalの矛盾をtime.time.time.time

レストアピスを介してXMLデータを取得する際に、データを無視しようとする際に課題を提示します。 APIによって返された日付形式がデフォルトの時間と一致しない場合、頻繁な問題が発生します。タイムパースフォーマットが発生し、障害を非表示にします。この問題に対処するために、この問題は、時間フィールドに登場するときにカスタム日付形式を指定する方法があるかどうかを調査します。ただし、time.timeはこのインターフェイスを実装しておらず、カスタム日付形式を指定できなくなります。このメソッドは、目的の形式を使用してXML日付文字列を解析し、それに応じて根底にある時間値を設定します。 // ... dateentered customtime `xml:" enterdate "` // unmarshalxmlを実装するカスタムタイプを使用します // ... } カスタムタイムstructを入力{ time.time } func(c *customtime)unmarshalxml(d *xml.decoder、start xml.startelement)エラー{ const shortform = "20060102" // yyyymmdd日付形式 var v文字列 D.DecodeElement(& v、& start) parse、err:= time.parse(shortform、v) err!= nil { errを返します } *c = customtime {parse} nilを返します }

このカスタムunmarshalxmlメソッドを利用することにより、独自の日付形式を効果的に指定し、XMLデータをmarshalingの場合、時間フィールドが正しく入力されるようにすることができます。同様の方法でunmarshalxmlattr。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3