0
我存储一个变量到MySQL数据库的VARCHAR(255)
这样的字段类型:为什么我不能将已经RFC3339字符串解析回RFC3339字符串?
ts, err := time.Parse(time.RFC3339, nonce[0:20])
伟大的工程,并显示了这样的:
然后当我需要从数据库中得到它我这样做:
rows, err := db.Query("SELECT nonce, time FROM noncestore WHERE endpoint=?", endpoint)
var sTimeStamp, nonceHolder string
for rows.Next() {
err = rows.Scan(&nonceHolder, &sTimeStamp)
errCheck(err)
Gives error//>> timeStamp, err := time.Parse(time.RFC3339, sTimeStamp)
errCheck(err)
if timeStamp == ts && nonceHolder == s {
return errors.New("Nonce already used")
}
if now.Sub(timeStamp) < *maxNonceAge {
_, err := db.Query("INSERT INTO noncestore SET nonce=?, time=?, endpoint=?", nonceHolder, sTimeStamp, endpoint)
errCheck(err)
}
}
线上面提到的给了我这个错误:
2015/08/14 21:56:18 http: panic serving [::1]:49663: Failed: parsing time "2015-08-15 03:56:00" as "2006-01-02T15:04:05Z07:00": cannot parse " 03:56:00" as "T"
为什么它能够将其转换为RFC3339
并将其存储在数据库中,但是当谈到时间得到它,并格式化回RFC3339
使我可以在我的if语句中使用我遇到错误?