我试图在 go 中解析 tomcat 日志文件的时间戳,但它没有通过。
package main
import (
"time"
"fmt"
)
func main() {
date := "26/Nov/2017:19:23:15 +0000"
fmt.Println(time.Parse(time.RFC822Z, date))
}
错误信息如下。
0001-01-01 00:00:00 +0000 UTC parsing time "26/Nov/2017:19:23:15 +0000" as "02 Jan 06 15:04 -0700": cannot parse "/Nov/2017:19:23:15 +0000" as " "
谁能帮帮我?
请您参考如下方法:
Go 有一种相当独特的时间格式化方式。模板需要基于以下日期(可以记住,因为它大致遵循 1,2,3,4,5,6,7):
Jan 2, 2006 3:04:05 PM -0700
要创建自定义格式,您可以创建一个字符串来匹配上述日期的格式。在你的情况下 02/Jan/2006:15:04:05 -0700
func main() {
date := "26/Nov/2017:19:23:15 +0000"
parsedTime, _ := time.Parse("02/Jan/2006:15:04:05 -0700", date)
fmt.Println(parsedTime)
}
// Outputs: 2017-11-26 19:23:15 +0000 UTC