Bekerja dengan cap masa adalah penting dalam pengaturcaraan. Apabila berurusan dengan cap masa Unix, anda mungkin menghadapi ralat "di luar julat" semasa menghuraikan cap masa menggunakan masa. Parse. Artikel ini akan menyediakan penyelesaian untuk menangani isu ini dalam Go.
Percubaan untuk menghuraikan cap waktu Unix menggunakan masa.Fungsi Parse mungkin mengakibatkan ralat disebabkan reka letak yang salah. Ini boleh mengelirukan, kerana reka letak kelihatan betul mengikut dokumentasi Go.
Fungsi masa.Parse tidak bertujuan untuk menghuraikan cap waktu Unix. Untuk menghuraikan cap masa Unix, anda boleh menggunakan fungsi strconv.ParseInt untuk menukar cap waktu rentetan kepada int64 dan kemudian mencipta nilai masa. Masa menggunakan masa. Unix.
Berikut ialah contoh kod diperbetulkan yang menunjukkan cara menghuraikan Unix dengan betul cap waktu:
package main import ( "fmt" "time" "strconv" ) func main() { timestamp := "1405544146" i, err := strconv.ParseInt(timestamp, 10, 64) if err != nil { panic(err) } tm := time.Unix(i, 0) fmt.Println(tm) }
Fungsi strconv.ParseInt mengambil rentetan cap masa, asasnya (10 dalam kes ini) dan saiz bit (64 untuk mengendalikan cap masa yang besar). Ia mengembalikan perwakilan int64 bagi cap masa.
Fungsi masa.Unix mengambil nilai int64 dan mencipta masa.Nilai masa yang mewakili cap masa.
Kod di atas akan mengeluarkan berikut:
2014-07-16 20:55:46 +0000 UTC
Dengan menggunakan strconv.ParseInt dan time.Unix dan bukannya time.Parse, anda boleh berjaya menghuraikan cap waktu Unix dalam Go dan mengelakkan ralat "luar julat" . Pendekatan ini menyediakan penyelesaian yang mudah dan boleh dipercayai untuk bekerja dengan cap masa.
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Ralat 'Di Luar Julat' Semasa Menghuraikan Cap Masa Unix dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!