在linux date

时间:2016-03-11 11:31:17

标签: linux logging rsyslog

我想使用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等,但如果别无选择那就没关系。

1 个答案:

答案 0 :(得分:1)

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

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

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

将亿万分之一变为千分之一。

微米。