在 linux 日期生成 log4j 时间戳格式

Generate log4j timestamp format in linux date

我想使用 linux 日期模仿 log4j 中使用的时间戳格式(只是一些快速脚本)

在 log4j 上,格式定义为 %d{dd MMM yyyy HH:mm:ss,SSS} 这将转化为如下行:

2016-03-10 07:01:09,778
2016-03-10 07:01:09,784

日期能完成吗?我越接近使用

date +"%Y-%m-%d %H:%M:%S,%N"

但这仍然有 9 位数字而不是 3 位,有什么想法吗?我宁愿不使用 sed/cut 等,但如果没有其他选择也可以。

%N 给出的是纳秒数(每秒十亿),因此是九位数,而 GNU date 没有毫秒选项。

谢天谢地,我们可以像这样指定字段宽度

date +"%Y-%m-%d %H:%M:%S,%3N"

将十亿分之一变成千分之一。

男.