Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menyesuaikan Penghuraian Tarikh untuk masa. Medan Masa dalam Pergi Apabila Menghapuskan XML?

Bagaimana untuk Menyesuaikan Penghuraian Tarikh untuk masa. Medan Masa dalam Pergi Apabila Menghapuskan XML?

DDD
Lepaskan: 2024-11-07 17:49:02
asal
631 orang telah melayarinya

How to Customize Date Parsing for time.Time Fields in Go When Unmarshalling XML?

Penghuraian Tarikh XML Tersuai dalam Go dengan masa. Medan Masa

Golang menyediakan fleksibiliti untuk menyahmarshal data XML ke dalam struktur tersuai, tetapi ia tidak 't menyokong menentukan format tarikh tersuai untuk masa. Medan masa apabila membuka XML. Ini boleh membawa kepada ralat penghuraian apabila format tarikh yang dikembalikan berbeza daripada format Go lalai.

CustomUnmarshaler Solution

Untuk mengatasi had ini, anda boleh mencipta struct tersuai dengan masa tanpa nama. Medan masa dan laksanakan kaedah UnmarshalXML anda sendiri. Kaedah ini akan menghuraikan rentetan tarikh menggunakan format tersuai anda dan menetapkan medan masa. Masa dengan sewajarnya.

type customTime struct {
    time.Time
}

func (c *customTime) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
    const shortForm = "20060102" // yyyymmdd date format
    var v string
    d.DecodeElement(&v, &start)
    parse, err := time.Parse(shortForm, v)
    if err != nil {
        return err
    }
    *c = customTime{parse}
    return nil
}
Salin selepas log masuk

Menggabungkan Struktur Tersuai

Kemas kini struct Transaksi anda kepada sertakan medan masa tersuai:

type Transaction struct {
    //...
    DateEntered     customTime     `xml:"enterdate"`
    //...
}
Salin selepas log masuk

Kini, pembongkaran XML akan menggunakan struct Masa tersuai dan menghuraikan rentetan tarikh mengikut format yang anda tentukan.

Nota Tambahan

Jika elemen XML menggunakan atribut untuk tarikh, anda perlu melaksanakan UnmarshalXMLAttr dengan cara yang sama. Rujuk contoh dalam coretan kod yang disediakan untuk panduan.

Atas ialah kandungan terperinci Bagaimana untuk Menyesuaikan Penghuraian Tarikh untuk masa. Medan Masa dalam Pergi Apabila Menghapuskan XML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan