gpt4 book ai didi

parsing - time.Parse 自定义布局

转载 作者:IT王子 更新时间:2023-10-29 02:05:14 26 4
gpt4 key购买 nike

我正在尝试将此字符串模式 "4-JAN-12 9:30:14" 解析为 time.Time

尝试了 time.Parse("2-JAN-06 15:04:05", inputString) 和许多其他方法,但无法正常工作。

我读过 http://golang.org/pkg/time/#Parsehttps://gobyexample.com/time-formatting-parsing但似乎没有这样的例子。

谢谢!

编辑:完整代码:

type CustomTime time.Time

func (t *CustomTime) UnmarshalJSON(b []byte) error {
auxTime, err := time.Parse("2-JAN-06 15:04:05", string(b))
*t = CustomTime(auxTime)
return err
}

parsing time ""10-JAN-12 11:20:41"" as "2-JAN-06 15:04:05": cannot parse ""24-JAN-15 10:27:44"" as "2"

最佳答案

不知道你做错了什么(应该贴出你的代码),但这实际上只是一个简单的函数调用:

s := "4-JAN-12 9:30:14"
t, err := time.Parse("2-JAN-06 15:04:05", s)
fmt.Println(t, err)

输出:

2012-01-04 09:30:14 +0000 UTC <nil>

Go Playground 上试试.

请注意 time.Parse()返回 2 个值:解析的 time.Time 值(如果解析成功)和可选的 error值(如果解析失败)。

请参阅以下示例,其中我故意指定了错误的输入字符串:

s := "34-JAN-12 9:30:14"

if t, err := time.Parse("2-JAN-06 15:04:05", s); err == nil {
fmt.Println("Success:", t)
} else {
fmt.Println("Failure:", err)
}

输出:

Failure: parsing time "34-JAN-12 9:30:14": day out of range

Go Playground 上试试.

编辑:

既然您发布了代码和错误消息,您的问题是您的输入字符串包含前导和尾随引号!

删除前导和尾随引号即可。这是你的情况:

s := `"4-JAN-12 9:30:14"`

s = s[1 : len(s)-1]
if t, err := time.Parse("2-JAN-06 15:04:05", s); err == nil {
fmt.Println("Success:", t)
} else {
fmt.Println("Failure:", err)
}

输出(在 Go Playground 上尝试):

Success: 2012-01-04 09:30:14 +0000 UTC

关于parsing - time.Parse 自定义布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31070301/

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