美文网首页
Go time.Parse 报错【解决方案】

Go time.Parse 报错【解决方案】

作者: 齐舞647 | 来源:发表于2020-11-18 16:20 被阅读0次

    这个第一个参数 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
    }
    

    相关文章

      网友评论

          本文标题:Go time.Parse 报错【解决方案】

          本文链接:https://www.haomeiwen.com/subject/jfvciktx.html