这个第一个参数 layout,不能随便写个时间
如果随便填个时间,例如:2019-05-16 23:23:45
可能会报err,
使用:"2006-01-02 15:04:05" 这个就不会报错。
- 解决方案:
string 转 time:
time, err := time.ParseInLocation("2006-01-02 15:04:05", req.UploadTime, time.Local)
有空我看下 time 这里的源码,分析一下 为什么会解析失败。先记录下
问题解了,因为这天是 Go 的生日。。。匹配策略也是根据这个日期匹配的,也符合预期。
不然怎么知道每个数字对应的是 月 还是 日 还是别的呢?
通过固定的日期,匹配出所需要的格式。其实也符合设计的预期。算是个小彩蛋吧。
- Time、String 互转方法:
func Time2Str(t *time.Time) string {
return t.Format("2006-01-02 15:04:05")
}
func Str2Time(timeStr string) time.Time {
t, _ := time.ParseInLocation("2006-01-02 15:04:05", timeStr, time.Local)
return t
}
网友评论