Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menukar Waktu UTC dengan Tepat kepada Zon Waktu Tertentu dalam Go?

Bagaimana untuk Menukar Waktu UTC dengan Tepat kepada Zon Waktu Tertentu dalam Go?

Susan Sarandon
Susan Sarandonasal
2024-12-19 02:14:08299semak imbas

How to Accurately Convert UTC Time to a Specific Time Zone in Go?

Menukar UTC kepada Zon Waktu Tertentu dalam Go dengan masa.Lokasi Muat

Apabila menukar waktu UTC kepada waktu tempatan tertentu, adalah penting untuk dipertimbangkan maklumat zon waktu untuk ketepatan. Percubaan untuk menambah perbezaan masa secara manual boleh mengakibatkan hasil yang salah.

Sebaliknya, pendekatan pilihan dalam Go ialah menggunakan masa.LoadLocation untuk mendapatkan maklumat zon waktu bagi lokasi yang diingini. Berikut ialah contoh kod Go yang diperbetulkan:

var countryTz = map[string]string{
    "Hungary": "Europe/Budapest",
    "Egypt":   "Africa/Cairo",
}

func timeIn(name string) time.Time {
    loc, err := time.LoadLocation(countryTz[name])
    if err != nil {
        panic(err)
    }
    return time.Now().In(loc)
}

func main() {
    utc := time.Now().UTC().Format("15:04")
    hun := timeIn("Hungary").Format("15:04")
    eg := timeIn("Egypt").Format("15:04")
    fmt.Println(utc, hun, eg)
}

Dalam contoh ini, peta (countryTz) digunakan untuk mengaitkan nama negara dengan rentetan zon waktu yang sepadan. Fungsi timeIn mengambil nama negara, memuatkan maklumat zon waktu menggunakan masa.LoadLocation dan mengembalikan masa semasa dalam zon waktu tertentu itu.

Fungsi utama kemudian mencetak waktu UTC dan waktu tempatan untuk Hungary dan Mesir menggunakan timeIn. Pendekatan ini memastikan bahawa perbezaan dalam zon waktu dan penjimatan siang dikendalikan dengan betul.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Waktu UTC dengan Tepat kepada Zon Waktu Tertentu 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