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

Date 如果有逗号,Golang无法解析毫秒?,date,go,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

下面是一个示例,从我要分析的数据来看,日期是什么样子的:

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替换逗号,但为什么会发生这种情况?

这是用
f02a26be
[1](2021-03-15)修复的。引用新文件[2]:

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


  • 解析器只接受句点作为ms分隔符,不能通过格式字符串AFAIK来更改它。这种行为被记录为:“小数秒是通过在布局字符串的秒部分末尾添加句点和零来表示的,如“15:04:05.000”以毫秒精度格式化时间戳。”如果您对软件包作者决定这样做的原因感兴趣,您可能想访问邮件列表。我只看到了关于小数秒的
    case'。
    。行:
    249
    谢谢,我替换了逗号,好像时间格式中已经有处理逗号的bug。Penny似乎没有达到1.16.4:(@outcoldman)它已经被提交,所以将在下一个版本中发布