You need to enable JavaScript to run this app.
导航
时间格式
最近更新时间:2025.01.10 10:44:06首次发布时间:2022.05.07 14:30:55

日志通常自带时间内容。通过 LogCollector 采集日志数据时,您可以配置时间转换格式,从而使 LogCollector 将日志自带的时间内容解析为日志时间戳。本文介绍常见的时间转换格式及对应的示例。

日志时间

通过 LogCollector 采集日志数据时,可以通过以下两种方式指定日志时间。

  • 使用采集日志的时间
    将 LogCollector 采集日志时的系统时间作为日志时间。如果 LogCollector 运行在 Linux 服务器中,那么系统时间的时区(time.Local)就是机器时区。如果 LogCollector 运行在 K8s 集群中,LogCollector v2.0.0 版本之后,系统时间的时区(time.Local)为 UTC+08:00。
  • 自定义日志时间
    提取原始日志中自带的时间作为日志时间。此时您需要填写时间键名称时间正则(可选)、时间转换格式时区属性。其中,LogCollector采集日志数据时,会根据您所设置的时间转换格式解析原始日志中自带的时间内容,并将其统一为 Unix 时间戳。

    说明

    • 如果时间转换格式填写错误,将导致 LogCollector 无法正确解析原始日志自带的时间内容,因此将使用采集日志时间。
    • 默认情况下,日志时间支持精确到毫秒。如果需要精确到纳秒,那么您可以勾选启用纳秒时间精度。如果未在时间转换格式中指定毫秒或纳秒的转换格式,则毫秒或纳秒部分会自动填充为 0。
    • 当原始日志自带的时间内容存在时区时,您可以在时间转换格式中填写时区解析表达式,也可以在采集规则中指定时区属性,两者的优先级如下:
      • 时间转换格式中填写了时区表达式(%z 或 %Z),采集规则中指定了时区属性,则以时间转换格式中的时区(%z 或 %Z)为准。
      • 时间转换格式中填写了时区表达式(%z 或 %Z),采集规则中没有指定时区属性,则以时间转换格式中的时区(%z 或 %Z)为准。
      • 时间转换格式中没有填写时区表达式(%z 或 %Z),采集规则中指定了指定时区属性,则以采集规则中的时区为准。
      • 时间转换格式中没有填写时区表达式(%z 或 %Z),采集规则中没有指定指定时区属性,则以系统时间的时区(time.Local)为准。
    • 如果日志自带的时间内容长于时间转换格式,那么日志自带的时间内容剩余部分会被忽略。例如日志自带的时间内容为 2024-04-30T16:33:31.399+0800,时间转换格式为 %Y-%m-%dT%H:%M:%S,剩余部分.399+0800会被忽略,最后的时间解析结果为 2024-04-30 16:33:31

常见的时间转换格式

类别

时间转换格式

说明

示例

世纪

%C

世纪数字,年份除以 100,范围为 00~99。

01

%Y

包含世纪的年份数字,范围为 0000~9999,例如 2022 表示 2022 年。

2022

%y

不包含世纪的年份数字,范围为 00~99,例如 22 表示 2022 年。

22

%G

包含世纪的年份数字,范围为 0000~9999,例如 2022 表示 2022 年。

2022

%g

不包含世纪的年份数字,范围为 00~99,例如 22 表示 2022 年。

22

%m

月份数字,范围 01~12。例如 02 表示 2 月。

08

%B

月份英文单词的全拼。

June

%b

月份英文单词的缩写。

Jan

%h

月份英文单词的缩写,与 %b 相同。

Jan

%d

日期数字,范围为 01~31,例如 21 表示 21 日。

21

%e

日期数字,范围为 01~31,例如 21 表示 21 日。

说明

如果是个位数字,前面需要加空格。

21

%H

小时,24 小时制,范围为 00~ 23。例如 21 表示 21 时。

21

%I

小时,12 小时制,范围为 01 - 12。例如 09 表示 9 时。
其中,I 为大写 I

09

%P

上午(AM)或下午(PM)。

AM

%p

上午(AM)或下午(PM)。

AM

%M

分钟数字,范围为 00~59,例如 01 表示 1 分钟。

01

%S

秒数字,范围为 00~59,例如 01 表示 1 秒钟。

01

毫秒、微秒、纳秒

%f

毫秒、微秒、纳秒时间。范围为 000000000~999999999,例如 1 表示 100000000 纳秒。

说明

如果不足 9 位,后面补 0。

100000000

秒级时间戳

%s

秒级 Unix 时间戳,10 位。

1651648193

毫秒级时间戳

%F

毫秒级 Unix 时间戳,13 位。

1651648192000

时区

%Z

时区名称,例如 UTC、EST、CST。

UTC

%z

±HHMM 格式或者 ±HH:MM 格式的时区偏移量,例如 +08:00 表示东八区,-0500 表示西五区。

-0500

其他

%A

星期英文单词名称的全拼。

Thursday

%a

星期英文单词名称的缩写。

Thur

%j

一年中的第几天,范围为 001-366。

340

%%

% 字符。

%

时间转换格式示例

时间字段内容

时间转换格式

[2022-05-04 15:12:12.012]

[%Y-%m-%d %H:%M:%S.%f]

22019-10-12T07:20:50.52Z07:00

%Y-%m-%dT%H:%M:%S

1651648409

%s

1651648416882

%F