Menggunakan Zon Waktu Dengan Betul dalam Go
Apabila cuba menghuraikan kod zon waktu, adalah penting untuk memahami nuansa cara zon waktu dikendalikan dalam Go .
Kod yang anda berikan menyediakan fungsi yang dipanggil parseAndPrint yang mengambil masa contoh dan singkatan zon waktu sebagai hujah. Walau bagaimanapun, tanpa mengira zon waktu yang anda tentukan, output fungsi sentiasa "05:00:00 0000 UTC."
Isu timbul kerana anda sedang menghuraikan masa di lokasi semasa anda, yang mungkin berbeza daripada zon waktu yang dikehendaki. Go's time.Parse function menganggap anda sedang menghuraikan di lokasi semasa melainkan dinyatakan secara eksplisit menggunakan masa.Lokasi.
Untuk menghuraikan masa dengan betul dalam zon waktu tertentu, anda harus menggunakan langkah berikut:
Berikut ialah contoh cara anda boleh menggunakan langkah-langkah ini dalam kod anda:
func parseAndPrintWithLocation(now time.Time, timezone string) { location, err := time.LoadLocation(timezone) if err != nil { fmt.Println(err) return } test, err := time.ParseInLocation("15:04:05 MST", fmt.Sprintf("05:00:00", timezone), location) if err != nil { fmt.Println(err) return } test = time.Date( now.Year(), now.Month(), now.Day(), test.Hour(), test.Minute(), test.Second(), test.Nanosecond(), test.Location(), ) fmt.Println(test) }
Dengan menggunakan pendekatan yang betul dengan lokasi zon waktu, anda boleh memastikan bahawa masa yang dihuraikan mencerminkan zon waktu yang diingini, membenarkan kod anda mengendalikan masa dari kawasan yang berbeza dengan tepat.
Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan dan Mengendalikan Zon Masa dengan betul dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!