JSON エンコーディングのタイムスタンプの書式設定
Go を使用する場合、time.Time 型によって出力されたタイムスタンプを書式設定する必要がある場合があります。デフォルトでは、JSON は時間を RFC3339 としてマーシャリングするため、望ましくない形式になります。
タイムスタンプの書式設定のカスタマイズ
タイムスタンプの書式設定をカスタマイズするには、カスタム時刻タイプのマーシャラー インターフェイスを実装します。 :
import ( "encoding/json" "fmt" ) type JSONTime time.Time func (t JSONTime) MarshalJSON() ([]byte, error) { stamp := fmt.Sprintf("\"%s\"", time.Time(t).Format("Mon Jan _2")) return []byte(stamp), nil }
このカスタム タイプをドキュメントに適用しますstruct:
type Document struct { Name string Content string Stamp JSONTime Author string }
マーシャリング時に、Document インスタンスを次のように初期化できます。
testDoc := model.Document{"Meeting Notes", "These are some notes", JSONTime(time.Now()), "Bacon"}
結果として得られる JSON には、「May」などの希望の形式でフォーマットされたタイムスタンプが含まれます。 15、2014"。
以上がGo の JSON エンコーディングでタイムスタンプの形式をカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。