Pertimbangan Time.Parse() dan Zon Waktu
Dalam Go, time.Parse() tidak melaraskan zon waktu semasa menghuraikan rentetan waktu tarikh . Keanehan ini boleh membawa kepada hasil yang tidak dijangka apabila bekerja dengan masa dalam pelbagai zon waktu.
Mari kita pertimbangkan kod berikut:
t, err := time.Parse("2006-01-02 MST", "2018-05-11 IST") t2, err := time.Parse("2006-01-02 MST", "2018-05-11 UTC") fmt.Println(t.Unix()) fmt.Println(t2.Unix())
Secara intuitif, kami akan menjangkakan cap waktu Unix yang berbeza untuk kedua-dua nilai masa ini. kepada perbezaan masa antara IST dan UTC. Walau bagaimanapun, output kod adalah sama untuk kedua-dua nilai masa. Ini kerana apabila time.Parse() menemui singkatan zon waktu yang tidak diketahui seperti "IST", ia menganggap pengimbangan sifar dan bukannya menggunakan maklumat zon waktu sebenar.
Untuk mengendalikan penghuraian masa dengan zon waktu tertentu dengan betul, beberapa pendekatan boleh digunakan:
Dengan menggunakan teknik ini, anda boleh memastikan penghuraian dan manipulasi masa yang tepat dalam zon waktu yang berbeza, mengelakkan isu penukaran yang tidak dijangka.
Atas ialah kandungan terperinci Bagaimanakah `time.Parse()` Go Mengendalikan Zon Masa dan Apakah Amalan Terbaik untuk Penghuraian Masa yang Tepat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!