Saya mempunyai rentetan masa dalam format berikut: 31 July 2023 21:06:36
. Saya ingin mengosongkan masa dengan menggunakan parsing. Jadi saya lakukan ini
dateStr := "20 July 2023 21:06:36" formatLayout := "31 July 2023 21:06:36" parsedTime, err := time.Parse(formatLayout, dateStr) if err != nil { return detail, err }
Tetapi ralat berlaku parsing time "31 July 2023 21:06:36": hour out of range
。然后我将格式布局更改为 02 January 2006 15:04:05
dateStr := "20 July 2023 21:06:36" formatLayout := "02 January 2006 15:04:05" parsedTime, err := time.Parse(formatLayout, dateStr) if err != nil { return detail, err }
Ia menghasilkan masa yang betul. Soalan saya ialah mengapa ia menghasilkan ralat jika saya menggunakan 02 一月 2006 15:04:05
的布局它不会产生错误,但 31 七月 2023 21:06:36
. Mereka dalam format yang sama, bukan?
Terima kasih
Mon Jan 2 15:04:05 MST 2006
(或 01/02 03:04:05PM '06 -0700
)是 Layout
包中定义的 time
berterusan.
Ia ditakrifkan dengan cara ini kerana setiap bahagian masa (hari, bulan, tahun, jam, minit, saat, zon waktu) adalah berbeza, jadi ia mudah digunakan sebagai susun atur kerana ia tidak mengandungi medan yang samar-samar. Contohnya. Bulan sentiasa 1, hari sentiasa 2, dan seterusnya.
Anda dapat melihat bahawa ini adalah masa "istimewa" yang digunakan oleh pakej time
untuk melakukan penghuraian. Tiada lagi.
Lihat juga Asal "Isnin 2 Jan 15:04:05 MST 2006", golang.
Atas ialah kandungan terperinci masa golang.Menghuraikan jam ralat di luar julat format yang sama. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!