Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Membina objek masa.Masa dengan Offset Zon Masa Ditentukan?
Membina Masa.Masa dengan Offset Zon Masa
Dalam senario ini, anda telah berjaya menghuraikan tarikh daripada log Apache dan memperoleh maklumat seperti tahun, bulan, hari, jam, minit, saat dan zon waktu. Untuk membina masa.Masa yang termasuk mengimbangi zon waktu yang ditentukan, anda tidak boleh menggunakan masa.Tempatan atau masa.UTC.
Menggunakan masa.FixedZone()
Untuk menyelesaikan cabaran ini, anda boleh memanfaatkan masa.FixedZone(). Kaedah ini membolehkan anda mencipta masa.Lokasi dengan zon waktu tetap mengimbangi. Contohnya:
loc := time.FixedZone("myzone", -8*3600) nativeDate := time.Date(2019, 2, 6, 0, 0, 0, 0, loc) fmt.Println(nativeDate)
Kod ini membina masa. Lokasi bernama "myzone" dengan offset -8 jam, kemudian menggunakannya untuk mencipta masa. Masa dengan tarikh dan masa yang ditentukan.
Menghuraikan Offset Zon Masa
Jika ofset zon waktu disediakan sebagai rentetan, anda boleh gunakan masa.Parse() untuk menghuraikannya. Guna rentetan reka letak yang secara eksklusif mengandungi mengimbangi zon rujukan:
t, err := time.Parse("-0700", "-0800") fmt.Println(t, err)
Kod ini menangkap imbangan zon waktu sebagai objek masa.
Penyelesaian Alternatif
Sebagai alternatif, anda boleh mengubah suai kod sedia ada anda untuk menggabungkan zon waktu yang diimbangi sebagai berikut:
t, err := time.Parse("-0700", "-0800") if err != nil { panic(err) } nativeDate := time.Date(2019, 2, 6, 0, 0, 0, 0, t.Location()) fmt.Println(nativeDate)
Penyelesaian ini terlebih dahulu menghuraikan zon masa yang diimbangi sebagai masa. Objek masa, kemudian menggunakan kaedah Lokasi() untuk menetapkan zon waktu untuk masa itu. Masa yang anda bina.
Atas ialah kandungan terperinci Bagaimana untuk Membina objek masa.Masa dengan Offset Zon Masa Ditentukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!