Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mencipta Objek Masa.Masa dengan Offset Zon Waktu Tertentu?

Bagaimana untuk Mencipta Objek Masa.Masa dengan Offset Zon Waktu Tertentu?

Barbara Streisand
Barbara Streisandasal
2024-12-13 16:35:17528semak imbas

How to Create a time.Time Object with a Specific Timezone Offset?

Mencipta Objek Masa dengan Offset Zon Waktu

Bagaimanakah cara saya mencipta objek masa.Masa yang termasuk offset zon waktu tertentu? Katakan kita mempunyai log Apache dengan cap masa dalam format "[07/Mar/2004:16:47:46 -0800]". Selepas menghuraikannya ke dalam komponennya, kami ingin membina objek masa. Masa yang menggabungkan zon waktu "-0800".

Untuk menangani perkara ini, gunakan time.FixedZone() untuk mencipta masa tersuai.Lokasi dengan offset yang dikehendaki. Contohnya:

loc := time.FixedZone("myzone", -8*3600)
nativeDate := time.Date(2019, 2, 6, 0, 0, 0, 0, loc)

Di sini, "myzone" ialah nama arbitrari yang diberikan kepada lokasi tersuai dan "-8*3600" mewakili perbezaan masa daripada UTC dalam beberapa saat.

Sebagai alternatif , jika anda mempunyai zon waktu yang diimbangi sebagai rentetan, gunakan masa.Parse() dengan reka letak yang disesuaikan rentetan:

t, err := time.Parse("-0700", "-0800")
if err != nil {
    panic(err)
}

nativeDate := time.Date(2019, 2, 6, 0, 0, 0, 0, t.Location())

Pendekatan ini menetapkan offset menggunakan rentetan, memastikan bahawa masa yang terhasil. Objek masa mencerminkan zon waktu yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Objek Masa.Masa dengan Offset Zon Waktu Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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