将字符串解析为时间戳会切断字符串的年份部分

我有一个字符串,其格式为时间戳


“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"

我在我做过的任何搜索中都找不到。我在这里错过了什么?


慕的地6264312
浏览 230回答 2
2回答

慕运维8079593

及时替换第一个参数。解析:从"2021-02-04 23:45:00"自"2006-01-02 15:04:00"Golang使用特定的日期进行格式化,不知道为什么 https://golang.org/src/time/format.go

偶然的你

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 mainimport (    "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)}此代码可在此处找到。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go