【发布时间】:2022-06-29 02:47:11
【问题描述】:
我希望将基本上类似于 20220628-13:47:09.053 的 time.Time 值格式化为 time.Time 值 13:47:09.053。
我正在使用 Format 和 Parse 来执行此操作,但 date 的输出一直有错误:
booktime := book.UpdatedAt.Format("15:04:05.000") //book.UpdatedAt have 20220628-13:47:09.053 time.Time value
fmt.Printf("booktime : %s", booktime)
date, error := time.Parse("15:04:05.000", booktime)
fmt.Printf("date : %s", date)
if error != nil {
fmt.Println(error)
}
输出:
>>> booktime : 13:47:09.053 //But this is a string
>>> date : 0000-01-01 13:47:09.053 +0000 UTC //It should be 13:47:09.053
有什么帮助吗?
【问题讨论】:
-
我又想你需要像这样转换成字符串部分
fmt.Sprintf("%02d:%02d:%02d",date.Hour(), date.Minute(), date.Second()) -
那么,你有一个字符串,你把它转换成一个时间(带日期),你想要一个只包含时间的字符串?也许这个?
str := date.Format("15:04:05.999")
标签: go