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
Lepaskan: 2024-12-22 14:15:13
asal
478 orang telah melayarinya

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

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!

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