gpt4 book ai didi

go - 如何time.Parse()逗号分隔毫秒

转载 作者:行者123 更新时间:2023-12-01 22:13:58 26 4
gpt4 key购买 nike

我有带有时间戳的日志,看起来像是“2020-05-08 22:02:00,845”。它们之间用逗号分隔毫秒,这就是时间。解析问题。我似乎无法弄清楚如何安排时间,对此感到高兴。这是在go版本go1.13.4 darwin/amd64(以及下面链接的操场)中产生错误的示例代码;

package main

import (
"time"
)

func main() {
ts := "2020-05-08 22:02:00,845"
_, err := time.Parse("2006-01-02 15:04:05,000", ts)
print(err.Error())
}

运行该代码会产生此错误
parsing time "2020-05-08 22:02:00,845" as "2006-01-02 15:04:05,000": cannot parse "845" as ",000"

这里是 go playground中代码的链接

那么解析这种格式会是什么样呢?谢谢你的帮助。

最佳答案

这是已经提交的错误here

行为记录如下:“小数秒是通过在布局字符串的秒数部分的末尾添加句点和零来表示的,如“15:04:05.000”中所示,以毫秒精度设置时间戳。

解决方法是将","替换为"."
包主

import (
"time"
"fmt"
"strings"
)

func main() {
ts := "2020-05-08 22:02:00,845"
ts = strings.Replace(ts, ",", ".", -1)

d, err := time.Parse("2006-01-02 15:04:05.000", ts)
if err != nil{
print(err.Error())
}
fmt.Println(d)
}

这是 Playground

关于go - 如何time.Parse()逗号分隔毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61744098/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com