Penghuraian Tarikh dalam Go
Menghuraikan cap masa dalam Go boleh menjadi tugas yang sukar dengan API masa yang rumit.Parse. Mari kita mendalami isu biasa yang dihadapi apabila cuba menghuraikan cap masa yang serupa dengan yang dihasilkan oleh tar, seperti '2011-01-19 22:15'.
Isu Penghuraian
Coretan kod berikut gagal dengan ralat "masa menghurai "2011-01-19 22:15": bulan di luar julat":
package main import ( "fmt" "time" ) func main() { var time, error = time.Parse("2011-01-19 22:15", "2011-01-19 22:15") if error != nil { fmt.Println(error.String()) return } fmt.Println(time) }
Memahami Ralat
Mesej ralat menunjukkan bahawa rentetan format yang diberikan kepada masa. Parse sedang menunggu nilai bulan adalah antara 1 dan 12, manakala cap waktu yang disediakan mengandungi Januari (diwakili oleh 01), yang merupakan yang pertama bulan.
Mengatasi Isu
Untuk menyelesaikan isu ini, kami perlu menyesuaikan rentetan format untuk mentafsir cap waktu dengan betul. Merujuk kepada dokumentasi pakej masa Pergi, kami mendapati arahan berikut:
"Masa standard yang digunakan dalam reka letak ialah:
Isnin 2 Jan 15:04:05 MST 2006 (MST ialah GMT-0700)
Untuk menentukan format anda sendiri, tuliskan rupa masa standard yang diformatkan cara."
Mengubah suai rentetan format dengan sewajarnya, kami mempunyai:
package main import ( "fmt" "time" ) func main() { t, err := time.Parse("2006-01-02 15:04", "2011-01-19 22:15") if err != nil { fmt.Println(err) return } fmt.Println(t) }
Kod ini akan mengeluarkan: "2011-01-19 22:15:00 0000 UTC".
Dengan mengikut garis panduan yang disediakan dalam dokumentasi, kami dapat menyesuaikan rentetan format untuk berjaya menghuraikan cap masa dalam format yang dikehendaki.
Atas ialah kandungan terperinci Bagaimana Menghuraikan Cap Masa Seperti Tar dengan betul dalam Fungsi `time.Parse` Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!