Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menukar Rentetan Offset Masa kepada Objek Time.Location dalam Go?

Bagaimana untuk Menukar Rentetan Offset Masa kepada Objek Time.Location dalam Go?

Barbara Streisand
Barbara Streisandasal
2024-12-14 19:29:13185semak imbas

How to Convert a Time Offset String to a Time.Location Object in Go?

Menukar Offset Masa kepada Lokasi/Zon Waktu dalam Go

Apabila bekerja dengan zon waktu dan offset, adalah perkara biasa untuk menghadapi senario di mana anda perlu tukar offset masa mentah, diwakili sebagai rentetan, kepada objek lokasi yang boleh digunakan dalam Go. Ini boleh dicapai dengan mudah menggunakan kaedah yang disediakan oleh pakej masa.

Andaikan anda telah memperoleh masa offset sembarangan, seperti " 1100". Untuk mencipta masa.Objek lokasi yang mewakili ofset ini, hanya gunakan fungsi FixedZone seperti berikut:

loc := time.FixedZone("UTC+11", +11*60*60)

Fungsi ini mencipta lokasi dengan nama yang ditentukan dan mengimbangi dalam beberapa saat.

Untuk mengaitkan masa dengan lokasi yang baru dibuat ini, gunakan kaedah Dalam:

t = t.In(loc)

Operasi ini mengubah suai masa t kepada mencerminkan lokasi yang ditentukan dan mengemas kini offsetnya dengan sewajarnya.

Berikut ialah contoh yang menunjukkan penukaran dan output masa berikutnya dalam konteks yang berbeza:

package main

import (
    "fmt"
    "time"
)

func main() {
    loc := time.FixedZone("UTC+11", +11*60*60)
    t := time.Now()

    // Output the original time and location
    fmt.Println(t)      // Output: 2023-09-13 18:37:08.729331723 +0000 UTC
    fmt.Println(t.Location()) // Output: UTC

    // Apply the new location to the time
    t = t.In(loc)

    // Output the modified time and location
    fmt.Println(t)      // Output: 2023-09-14 05:37:08.729331723 +1100 UTC+11
    fmt.Println(t.Location()) // Output: UTC+11

    // Output the UTC equivalent of the modified time
    fmt.Println(t.UTC()) // Output: 2023-09-13 18:37:08.729331723 +0000 UTC
    fmt.Println(t.Location()) // Output: UTC+11
}

Kod ini mempamerkan cara anda boleh menukar mengimbangi masa ke dalam objek lokasi dan menggunakannya pada masa untuk mendapatkan perwakilan yang tepat berkenaan dengan zon waktu yang berbeza.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan Offset Masa kepada Objek Time.Location dalam Go?. 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