Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Membina Time.Time Instance dengan Offset Zon Waktu Tertentu dalam Go?

Bagaimana untuk Membina Time.Time Instance dengan Offset Zon Waktu Tertentu dalam Go?

Mary-Kate Olsen
Lepaskan: 2024-12-03 18:28:11
asal
754 orang telah melayarinya

How to Construct a time.Time Instance with a Specific Timezone Offset in Go?

Membina masa.Masa dengan Offset Zon Waktu

Dalam bidang penyimpanan masa, adalah penting untuk mengendalikan zon waktu dengan tepat untuk aplikasi yang canggih. Ini melibatkan membina masa. Kejadian masa yang menggabungkan offset zon waktu tertentu.

Mari kita ambil contoh entri log Apache:

[07/Mar/2004:16:47:46 -0800]
Salin selepas log masuk

Selepas berjaya menghuraikan komponen individu (tahun, bulan, hari , jam, minit, saat dan zon waktu), langkah seterusnya ialah membina masa. Contoh masa yang menggabungkan "-0800" zon waktu mengimbangi.

Menggunakan masa.FixedZone()

Untuk tujuan ini, anda boleh menggunakan masa.FixedZone(). Fungsi ini membolehkan anda membina masa. Lokasi dengan ofset tetap. Berikut ialah contoh:

loc := time.FixedZone("myzone", -8*3600)
nativeDate := time.Date(2019, 2, 6, 0, 0, 0, 0, loc)
fmt.Println(nativeDate)
Salin selepas log masuk

Output:

2019-02-06 00:00:00 -0800 myzone
Salin selepas log masuk

Menggunakan masa.Parse()

Jika offset zon waktu tersedia sebagai rentetan, anda boleh menggunakan time.Parse() untuk mentafsirnya. Guna rentetan reka letak yang hanya mengandungi offset zon rujukan:

t, err := time.Parse("-0700", "-0800")
fmt.Println(t, err)
Salin selepas log masuk

Output:

0000-01-01 00:00:00 -0800 -0800 <nil>
Salin selepas log masuk

Seperti yang terbukti daripada output, masa yang terhasil. Masa mempunyai zon offset -0800 jam.

Lengkap Contoh

Menggabungkan teknik di atas, contoh asal boleh ditulis semula seperti 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)
Salin selepas log masuk

Output:

2019-02-06 00:00:00 -0800 -0800
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Membina Time.Time Instance dengan Offset Zon Waktu Tertentu dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan