Rumah >pembangunan bahagian belakang >Golang >Mengapakah Penukaran UTC secara Manual kepada Waktu Setempat dalam Pergi Selalunya Menghasilkan Keputusan yang Salah?

Mengapakah Penukaran UTC secara Manual kepada Waktu Setempat dalam Pergi Selalunya Menghasilkan Keputusan yang Salah?

Susan Sarandon
Susan Sarandonasal
2024-12-22 14:15:13477semak imbas

Why Does Manually Converting UTC to Local Time in Go Often Produce Incorrect Results?

Tukar UTC kepada Waktu Tempatan dalam Go: Menyelesaikan Masalah Keputusan Salah

Apabila menukar UTC kepada waktu tempatan, adalah penting untuk mempertimbangkan perbezaan zon waktu dan kaedah yang betul untuk melaksanakan penukaran.

Dalam coretan kod yang disediakan, percubaan untuk tambahkan secara manual zon waktu mengimbangi sebagai tempoh kepada waktu UTC semasa boleh membawa kepada keputusan yang salah disebabkan faktor seperti waktu penjimatan siang.

Pemetaan Zon Masa:

Kod ini bergantung pada peta statik untuk menyimpan offset zon waktu. Pendekatan yang lebih dipercayai melibatkan penggunaan fungsi masa.LoadLocation, yang memuatkan maklumat zon waktu secara dinamik berdasarkan nama yang ditentukan. Ini memastikan ketepatan perbezaan zon waktu.

Penukaran Zon Waktu Terbina:

Daripada melaraskan masa secara manual, adalah disyorkan untuk menggunakan kaedah masa.Dalam , yang menukar cap masa kepada zon waktu tertentu. Ini mengambil kira tetapan semasa dan pelarasan masa penjimatan siang, memberikan hasil yang lebih tepat.

Kod示例:

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)
}

Dengan menggunakan masa.Lokasi dan masa. Dalam, kod yang disemak ini memastikan bahawa waktu tempatan ditukar dengan betul daripada UTC, dengan mengambil kira perbezaan zon waktu dan penjimatan siang masa.

Atas ialah kandungan terperinci Mengapakah Penukaran UTC secara Manual kepada Waktu Setempat dalam Pergi Selalunya Menghasilkan Keputusan yang Salah?. 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