Menghuraikan Masa dalam Zon Waktu Tertentu
Apabila bekerja dengan data masa, selalunya perlu menghuraikan rentetan masa ke dalam struktur masa yang boleh digunakan. Fungsi time.ParseTime() membenarkan penghuraian rentetan masa menggunakan reka letak yang disediakan. Walau bagaimanapun, secara lalai, ia menganggap masa adalah dalam UTC. Ini boleh menjadi masalah jika anda perlu bekerja dengan masa dalam zon waktu tertentu.
Untuk menghuraikan masa dalam zon waktu tertentu, anda boleh menggunakan fungsi masa.ParseInLocation() dan bukannya masa.ParseTime(). Fungsi ini menerima parameter Lokasi tambahan yang menentukan zon waktu di mana rentetan masa harus dihuraikan.
Sebagai contoh, kod berikut menghuraikan rentetan masa dalam zon waktu CEST:
<code class="go">import ( "fmt" "time" ) func main() { const timeString = "Jul 9, 2012 at 5:02am (CEST)" const layout = "Jan 2, 2006 at 3:04pm (MST)" location, err := time.LoadLocation("CEST") if err != nil { panic(err) } t, err := time.ParseInLocation(layout, timeString, location) if err != nil { panic(err) } fmt.Println(t) }</code>
Kod ini akan mencetak output berikut:
2012-07-09 05:02:00 +0000 CEST
Seperti yang anda lihat, masa telah dihuraikan dengan betul dalam zon waktu CEST.
Perhatikan bahawa jika anda tidak menyatakan a zon waktu dalam fungsi time.ParseInLocation(), ia akan lalai kepada zon waktu tempatan anda. Ini boleh membawa kepada hasil yang tidak dijangka jika anda menggunakan data masa daripada berbilang zon waktu.
Atas ialah kandungan terperinci Bagaimana Menghuraikan Masa dalam Zon Waktu Tertentu Menggunakan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!