需求
- 获取当前时间的字符串类型。
- 获取到时间之后,按照RFC3339的格式转换成time.Time类型
原版代码
package main
import (
"fmt"
"time"
)
func main() {
timeStr := time.Now().String()
fmt.Println(timeStr)
t, err := time.Parse(time.RFC3339, timeStr)
if err != nil {
fmt.Printf("err : %v", err)
return
}
fmt.Println(t)
}
原版代码输出结果
2020-03-24 22:44:01.8186776 +0800 CST m=+0.002997901
err : parsing time "2020-03-24 22:44:01.8186776 +0800 CST m=+0.002997901" as "2006-01-02T15:04:05Z07:00": cannot parse " 22:44:01.8186776 +0800 CST m=+0.002997901" as "T"
发现,time.Now().String(),虽然实现了需求的第一点,但是在转换格式的时候报错。
改进代码
package main
import (
"fmt"
"time"
)
func main() {
timeStr := time.Now().Format(time.RFC3339)
fmt.Println(timeStr)
t, err := time.Parse(time.RFC3339, timeStr)
if err != nil {
fmt.Printf("err : %v", err)
return
}
fmt.Println(t)
}
输出结果
2020-03-24T22:48:00+08:00
2020-03-24 22:48:00 +0800 CST
有疑问加站长微信联系(非本文作者)