1、+0800 CST 与+0805 LMT区别
大多数计算机保留的有关时区的数据来自IANA时区数据库(Time Zone Database, TZDB)。TZDB 中 "Asia/Shanghai"的时区偏移 不止 +08:00 一个,在 1850-1900 年,偏移量为 +08:05:43,1901年以及后,偏移量才是 +08:00。所以时区+0800 CST 与+0805 LMT都是中国时区,不过对应的是不同的阶段。
更详细的就是以LMT时间1901年,也就是UTC时间1900/12/31 15:54:17,之前都是使用LMT时区偏移量,之后都使用CST时区偏移量。如下例子可以直观感受:
//go
t0 := time.Date(1900, 12, 31, 15, 54, 16, 59, time.UTC)
t1 := time.Date(1900, 12, 31, 15, 54, 17, 0, time.UTC)
loc, err := time.LoadLocation("Asia/Shanghai")
if err != nil {
fmt.Println(err)
}
fmt.Println("UTC 1900/12/31 15:54:17之前:")
fmt.Println(t0.In(loc))
fmt.Println("Location:", t0.In(loc).Location())
t0zone, t0offset := t0.In(loc).Zone()
fmt.Println("zone:", t0zone)
fmt.Println("offse
|