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
Lepaskan: 2024-12-14 19:29:13
asal
185 orang telah melayarinya

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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
}
Salin selepas log masuk

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!

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