我有一个字符串,其格式为时间戳“2021-02-04 23:45:00”但是当我尝试用time.parse解析它时,它似乎切断了年份部分。代码是case "period_end": fmt.Println(record[i]) ts, err := time.Parse("2021-02-04 23:45:00", record[i]) if err != nil { log.Printf("Time conversion failed: %v", err) return }reading.Interval = t其中,此时的记录 [i] 是一个字符串,其中2021-02-04 00:15:00和阅读。间隔就是时间。时间Printf 中返回的错误是Time conversion failed: parsing time "2021-02-04 00:15:00" as "2021-02-04 23:45:00": cannot parse "-02-04 00:15:00" as "1"我在我做过的任何搜索中都找不到。我在这里错过了什么?
2 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
及时替换第一个参数。解析:
从
"2021-02-04 23:45:00"
自
"2006-01-02 15:04:00"
Golang使用特定的日期进行格式化,不知道为什么 https://golang.org/src/time/format.go
偶然的你
TA贡献1841条经验 获得超3个赞
Go 使用此默认时间来设置布局:
"2006-01-02T15:04:05.000Z"
此布局的详细信息:
布局中使用的参考时间是特定时间:
星期一 一 月 2 15:04:05 MST 2006
这是Unix时间1136239445。由于 MST 是 GMT-0700,因此可以将参考时间视为
01/02 03:04:05PM '06 -0700
因此,要解决您的问题:
package main
import (
"fmt"
"time"
)
func main() {
recordTime := "2021-02-04 23:45:00"
ts, err := time.Parse("2006-01-02 15:04:05", recordTime)
if err != nil {
fmt.Println("error: ", err)
return
}
fmt.Println(ts)
}
此代码可在此处找到。
- 2 回答
- 0 关注
- 229 浏览
添加回答
举报
0/150
提交
取消
