2 回答

TA貢獻2065條經驗 獲得超14個贊
要從自定義格式取消封接,您需要創建包裝器并實現接口。time.Timejson.Unmarshaler
type CustomTime struct {
time.Time
}
func (t *CustomTime) UnmarshalJSON(b []byte) (err error) {
date, err := time.Parse(`"2006-01-02T15:04:05.000-0700"`, string(b))
if err != nil {
return err
}
t.Time = date
return
}
現在,將您的時間字段指定為CustomTime
Resolved CustomTime `json:"resolutiondate,omitempty"`
Created CustomTime `json:"created,omitempty"`
要寫入 Excel,您需要提供有關實現的更多信息。
但示例解決方案:
func (t *CustomTime) ExcelDate() string {
return t.Format("01/02/2006")
}

TA貢獻1789條經驗 獲得超10個贊
您可以做的是,將字符串包裝為您自己的自定義類型,并使其實現接口:Unmarshaler
type Unmarshaler interface {
UnmarshalJSON([]byte) error
}
然后花點時間使用JSON并將其解析為并使用您的自定義布局進行格式化。time.Timemm/dd/yyyy
type Date string
func (d *Date) UnmarshalJSON(bytes []byte) error {
dd, err := time.Parse(`"2006-01-02T15:04:05.000+0000"`, string(bytes))
if err != nil{
return err
}
*d = Date(dd.Format("01/02/2006"))
return nil
}
現在您可以使用
Created Date `json:"created,omitempty"`
在你的圍棋結構和解封。
在此處運行示例代碼
- 2 回答
- 0 關注
- 163 瀏覽
添加回答
舉報