无法正确解析时间

huangapple go评论237阅读模式
英文:

Not able to parse time properly

问题

我正在尝试解析模板中的时间值,代码如下:

"parseDate": func(timeStamp time.Time) string {
            newTime, err := time.Parse("Jan 2 2006 @ 15:04:05", fmt.Sprintf("%v", timeStamp))
            if err != nil {
                log.Println(err)
            }
            return fmt.Sprintf("%v", newTime)
},

这是我的一个处理函数,但是我遇到了以下错误:

将时间"2015-12-13 06:49:52 +0000 UTC"解析为"Jan 2 2006 @ 15:04:05"时出错:无法将"2015-12-13 06:49:52 +0000 UTC"解析为"Jan"

不确定我做错了什么。

英文:

I'm trying to parse time for values in a template like so:

"parseDate": func(timeStamp time.Time) string {
			newTime, err := time.Parse("Jan 2 2006 @ 15:04:05", fmt.Sprintf("%v", timeStamp))
			if err != nil {
				log.Println(err)
			}
			return fmt.Sprintf("%v", newTime)
},

which is one of my handler funcs, but I get this error:

parsing time "2015-12-13 06:49:52 +0000 UTC" as "Jan 2 2006 @ 15:04:05": cannot parse "2015-12-13 06:49:52 +0000 UTC" as "Jan"

Not sure what I'm doing wrong

答案1

得分: 1

你必须将其解析为

t, _ := time.Parse("2006-01-02 15:04:05 -0700 MST")

在解析时,你需要提供接收到的日期的格式。

然后,你可以使用以下方式格式化正确解析的时间

t.Format("Jan 2 2006 @ 15:04:05")
英文:

You have to parse it as

t, _ := time.Parse("2006-01-02 15:04:05 -0700 MST")

For parsing you have to give the format of the date you are receiving.

Then you can format the correctly parsed time using

t.Format("Jan 2 2006 @ 15:04:05")

huangapple
  • 本文由 发表于 2015年12月13日 17:11:07
  • 转载请务必保留本文链接:https://go.coder-hub.com/34249560.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定