go 语言中的时区难题
在开发 go 程序时,处理时区可能是个棘手的问题。下面通过一个具体示例来演示这个问题:
func mAIn() { str := "2021-11-48 11:48:00" loc, _ := time.LoadLocation("Asia/Shanghai") ts, err := time.ParseInLocation("2006-01-02 15:04:05", str, loc) if err != nil { fmt.Println("ts is", ts) } }
登录后复制
执行这段代码后,输出结果为 ts is 0001-01-01 00:00:00 +0000 utc,与预期的不一致。这是因为输入的字符串 str 中包含了一个错误,即 11 月 48 号。由于时间中不存在 11 月 48 号,因此无法正确解析为时间类型。
因此,在处理时间时,确保输入的日期和时间值是正确的非常重要。在上面的示例中,可以将 str 更改为一个有效的时间字符串,例如 “2021-11-08 11:48:00″。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
【小浪云服务商 - 服务器12元起 - 挂机宝5元起】
THE END
暂无评论内容