Rumah >pembangunan bahagian belakang >Golang >Bagaimana Menukar UTC kepada Waktu Tempatan dengan Tepat dalam Go?
Menukar waktu UTC kepada waktu tempatan boleh menjadi satu cabaran, terutamanya apabila mengambil kira masa variasi zon. Dalam Go, sesetengah pengguna telah menemui hasil yang salah apabila cuba menambah tempoh mengimbangi masa UTC pada masa semasa.
Isunya terletak pada pengendalian zon waktu. Semasa menambah tempoh mengimbangi masa boleh melaraskan nilai masa, ia tidak mengambil kira peraturan zon waktu tertentu dan perubahan DST (Waktu Penjimatan Siang). Untuk menukar UTC kepada waktu tempatan dengan tepat, cara yang betul ialah menggunakan masa.Fungsi LoadLocation.
Kod berikut menunjukkan cara menggunakan masa.LoadLocation untuk mendapatkan waktu tempatan secara khusus lokasi:
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, countryTz mentakrifkan peta negara dan nama zon waktu yang sepadan. Fungsi timeIn memuatkan zon waktu yang sesuai dan menukar masa semasa kepada waktu tempatan dalam zon waktu itu.
Dengan menggunakan time.LoadLocation, kod memastikan peraturan zon waktu dan pelarasan DST diambil kira, memberikan waktu tempatan yang tepat.
Atas ialah kandungan terperinci Bagaimana Menukar UTC kepada Waktu Tempatan dengan Tepat dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!