tomcat - 在go中解析tomcat日志文件的时间戳

标签 tomcat go timestamp

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

关于tomcat - 在go中解析tomcat日志文件的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47574511/

相关文章:

java - Tomcat 7/TomEE 1.6 @Webfilter 注释。没有从 Jar 中加载

search - 包含 slice 的结构集

c - golang exec.Command 无法运行 C 二进制文件

sql - SQL计算并发事件数

timestamp - 如何更新 firebird 时间戳字段以删除毫秒部分?

java - Tomcat 8 无法从 Spring Tool Suite 启动 Spring Boot 应用程序

tomcat - 用tomcat导入

java - 在jsp标签文件的java代码中使用标签属性

go - 如何在 for 循环中创建持续时间 -(不匹配类型 int 和 time.Duration)

mysql - SQL 使用 unix 时间戳计算一个月内的记录