我试图在 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 

https://play.golang.org/p/6nene8tnZL


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!