如果有逗号,Golang无法解析毫秒?

时间:2017-11-03 13:02:27

标签: date go

这里有一个例子,如何根据我要解析的数据查看日期:

2017-10-20 13:32:26,890

我的格式如下:

2006-01-02 15:04:05,000

现在奇怪的部分:

date := "2017-10-20 13:32:26,890"
_, err := time.Parse("2006-01-02 15:04:05,000", date)
if err != nil {
    panic(err)
}

如果我运行这个我收到此错误:

panic: parsing time "2017-10-20 13:32:26,890" as "2006-01-02 15:04:05,000": cannot parse "890" as ",000"

如果我在日期和格式中将逗号更改为单个点,则它正常工作。我可以用regexp替换逗号,但为什么会这样呢?

1 个答案:

答案 0 :(得分:1)

此问题已通过 f02a26be [1] (2021-03-15) 修复。引用新文档 [2]:

<块引用>

逗号或小数点后跟一个或多个 9 表示一个 小数秒,打印到给定的小数位数,尾随 删除了零。

  1. https://github.com/golang/go/commit/f02a26be
  2. https://tip.golang.org/pkg/time#pkg-constants