从“stat”获取 mtime Epoch 时间戳(以毫秒为单位)

从“stat”获取 mtime Epoch 时间戳(以毫秒为单位)

如果我用来stat显示 mtime,我会得到一个以毫秒为单位的日期:

$ stat -c '%y' test.log 
2019-07-04 14:32:10.730059167 +0200

但是,如果我想显示纪元时间戳,我将不再获得毫秒:

$ stat -c '%Y' test.log 
1562243530

我是否遗漏了某些内容,或者我必须将两个输出的内容修补在一起?

答案1

对于 GNU Coreutils 实现,您可以使用

stat --format='%.9Y' file

要不就

stat --format='%.Y' file

info文档中:

'%W'、'%X'、'%Y' 和 '%Z' 格式接受前面带有句点的精度,以指定小数点后要打印的位数。例如,“%.3X”将访问时间戳输出到毫秒精度。如果给出了句点但没有精度,则“stat”使用 9 位数字,因此“%.X”相当于“%.9X”。当丢弃多余的精度时,时间戳会被截断为负无穷大。

相关内容