如何解决用golang解析时间:无法解析“ -08-23 +
我在golang中有一个过期时间:
fmt.Println(currtok.Expiry.String())
此打印:
2020-08-23 14:02:04.486055707 +0000 UTC m=+3600.163685667
现在,我尝试将此字符串转换为时间戳: 我将其存储在Cookie中:
c.SetCookie("ex_cookie",currtok.Expiry.String(),3600,"/","localhost",false,true)
我再次得到它:
ex_cookie,err := c.Request.Cookie("ex_cookie")
if err != nil {
panic(err.Error())
}
testtime,err := time.Parse("2020-08-23 14:02:04.486055707 +0000 UTC m=+3600.163685667",ex_cookie.Value)
if err != nil {
panic(err.Error())
错误类似:
parsing time "2020-08-23+14%3A01%3A38.653030018+%2B0000+UTC+m%3D%2B3600.250019695" as "2020-08-23 13:59:23.522882812 +0000 UTC": cannot parse "-08-23+14%3A01%3A38.653030018+%2B0000+UTC+m%3D%2B3600.250019695" as "0-08-"
我在做什么错?我应该如何将字符串解析回有效的时间戳? }
解决方法
时间的最近部分(opt out
)是否相关?
在其他情况下,您可以删除该部分,并使用此处显示的标准符号投放时间:https://gist.github.com/unstppbl/26942512b3ca6a92857c87124445ca0b
这里有个例子
+0000 UTC m=+3600.163685667
结果:
package main
import (
"fmt"
"strings"
"time"
)
func main() {
var (
testTime time.Time
err error
)
s := `2020-08-23 14:02:04.486055707 +0000 UTC m=+3600.163685667`
s = strings.Split(s," +")[0]
if testTime,err = time.Parse("2006-01-02 15:04:05",s); err != nil {
panic(err.Error())
}
fmt.Println(testTime)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。