我正在导入格式的很多字段:
上午 09:02
上午 10:02
中午 12:30
下午 04:10
下午 04:50
下午 5:30
我想将这些字段转换成我可以对其进行算术运算的东西。例如,对事件发生的时间进行倒计时。因此,以微秒……甚至秒为单位保存字段。 我一直在努力争取时间。解析工作...没有快乐。
fmt.Println(time.Parse("hh:mm", m.Feed.Entry[i].GsxA100Time.T))
返回...
0001-01-01 00:00:00 +0000 UTC parsing time "07:50 PM" as "hh:mm": cannot parse "07:50 PM" as "hh:mm"
有什么建议吗?
最佳答案
time.Parse
的布局字符串不处理 "hh:mm"
格式。在您的情况下,布局字符串更像是 "03:04 PM"
,如您在 the documentation 中所见。 .
要在解析字符串后获得 time.Duration
,您可以用引用时间减去您的时间,在您的情况下,我假设 "12:00 AM"
.
工作示例:
package main
import (
"fmt"
"time"
)
func main() {
ref, _ := time.Parse("03:04 PM", "12:00 AM")
t, err := time.Parse("03:04 PM", "11:22 PM")
if err != nil {
panic(err)
}
fmt.Println(t.Sub(ref).Seconds())
}
输出:
84120
关于go - 如何使用time.Parse解析hh :mm format in Go,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44924628/