Go 如何将以毫秒为单位的字符串时间(hh:mm:ss.xxx)转换为time.time?

Go 如何将以毫秒为单位的字符串时间(hh:mm:ss.xxx)转换为time.time?,go,Go,基本上,我有这样的时间作为一个字符串: 15:56:36.113 我想将其转换为time.time 从我阅读的内容来看,在使用time.Parse()时,我不能使用毫秒 是否有其他方法将我的字符串转换为time.time 格式参考时间 小数点后跟一个或多个零表示小数点 第二,打印到给定的小数位数。小数点 后跟一个或多个9表示小数秒,打印 保留给定的小数位数,并删除尾随的零。 解析(仅)时,输入可能包含一个分数秒字段 紧跟在秒字段之后,即使布局没有 表示它的存在。在这种情况下,小数点后接一个

基本上,我有这样的时间作为一个字符串:

15:56:36.113
我想将其转换为
time.time

从我阅读的内容来看,在使用
time.Parse()时,我不能使用毫秒

是否有其他方法将我的字符串转换为
time.time

格式参考时间

小数点后跟一个或多个零表示小数点 第二,打印到给定的小数位数。小数点 后跟一个或多个9表示小数秒,打印 保留给定的小数位数,并删除尾随的零。 解析(仅)时,输入可能包含一个分数秒字段 紧跟在秒字段之后,即使布局没有 表示它的存在。在这种情况下,小数点后接一个 最大数字序列被解析为小数秒

比如说,

package main

import (
    "fmt"
    "time"
)

func main() {
    t, err := time.Parse("15:04:05", "15:56:36.113")
    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(t)

    fmt.Println(t.Format("15:04:05.000"))

    h, m, s := t.Clock()
    ms := t.Nanosecond() / int(time.Millisecond)
    fmt.Printf("%02d:%02d:%02d.%03d\n", h, m, s, ms)
}
输出:

0000-01-01 15:56:36.113 +0000 UTC
15:56:36.113
15:56:36.113
0000-01-01 15:56:36.113 +0000 UTC
注:时间类型的零值为
0000-01-01 00:00:00.000000000 UTC

package main

import (
    "fmt"
    "time"
)

func main() {
    s := "15:56:36.113"
    t,_ := time.Parse("15:04:05.000", s)

    fmt.Print(t)
}
输出:

0000-01-01 15:56:36.113 +0000 UTC
15:56:36.113
15:56:36.113
0000-01-01 15:56:36.113 +0000 UTC

您可以在此处进行更多操作:

这不是复制品。它询问的是分数秒。