我在本地解析时间,将其编组为 JSON,取消编组,时间不再匹配。
timeA, _ := time.ParseInLocation("15:04", "8:00", time.Local)
jBytes, _ := json.Marshal(timeA)
var timeB time.Time
json.Unmarshal(jBytes, &timeB)
fmt.Printf("Time A: %+v, Time B: %+v\n", timeA, timeB)
fmt.Printf("Time A: %+v, Time B: %+v\n", timeA.Local(), timeB.Local())
fmt.Printf("Diff: %s\n", timeA.Sub(timeB))
fmt.Printf("Marshaled: %s", string(jBytes))
时间 A:0000-01-01 08:00:00 -0733 LMT,时间 B:0000-01-01 08:00:00 -0733 -0733
时间 A:0000-01-01 08:00:00 -0733 LMT,时间 B:0000-01-01 07:59:08 -0733 LMT
差异:52s
编组:“0000-01-01T08:00:00-07:33”
这是在 linux 上运行的,以埃德蒙顿/山为我的本地时间,所以我猜它没有识别位置并显示偏移量两次-733 -733。当我调用本地时,由于某种原因,解析的一个总是丢失 52 秒。
我希望时间匹配。我的时钟是否与它所引用的远程时钟相差 52 秒?
千万里不及你
侃侃尔雅
相关分类