Cara Menghuraikan Cap Masa Unix
Menghuraikan cap masa Unix dalam Go mungkin kelihatan seperti tugas yang mudah, tetapi ia boleh membawa kepada ralat yang tidak dijangka. Apabila cuba menghuraikan cap masa menggunakan masa. Parse, anda mungkin menghadapi ralat di luar julat walaupun reka letak kelihatan betul.
Sebabnya ialah masa itu.Parse tidak mengendalikan cap masa Unix. Sebaliknya, anda harus menggunakan fungsi strconv.ParseInt untuk menukar rentetan cap waktu kepada int64 dan kemudian gunakan fungsi time.Unix untuk mencipta objek masa.
Berikut ialah contoh:
package main import ( "fmt" "time" "strconv" ) func main() { i, err := strconv.ParseInt("1405544146", 10, 64) if err != nil { panic(err) } tm := time.Unix(i, 0) fmt.Println(tm) }
Kod ini akan mengeluarkan yang betul cap waktu:
2014-07-16 20:55:46 +0000 UTC
Nota Penting:
Dalam contoh asal, strconv.Atoi digunakan dan bukannya strconv.ParseInt. Walau bagaimanapun, strconv.Atoi boleh mengakibatkan limpahan integer pada sistem 32-bit. Oleh itu, strconv.ParseInt disyorkan untuk mengendalikan semua kes dengan selamat.
Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Cap Masa Unix dengan Selamat dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!