添加毫秒到时间戳(bash,unix)

时间:2013-06-25 20:38:57

标签: linux bash unix time terminal

编辑:这显然是不可能的,请参阅下面的Barmars回答。

我使用下面的命令来创建存档目的的时间戳。我想为字符串添加毫秒。那可能吗?我在osx和linux上使用这个脚本,所以一个适用于两者的解决方案都会很好。秒数是否在有或没有毫秒的情况下向上或向下舍入? (分钟是向上还是向下舍入?)

date -n +%Y%m%d%H%M%S

4 个答案:

答案 0 :(得分:2)

我认为没有办法可以轻松地做到这一点。参见POSIX strftime specification,它没有提到任何关于毫秒或纳秒的内容。

此外,strftime的输入是struct tm。此结构的规范是here,它不包括比秒更精确的任何内容。纳秒在timespec结构中,但主要用于时间段,而不是时钟时间,并且系统不需要将时钟时间维持在超过第二分辨率。

答案 1 :(得分:0)

%N给你纳秒,你可以将它除以1000000

答案 2 :(得分:0)

一般情况下你不能,但我想我在su guest -c test.pl 中提到,你可以使用"%。S"毫秒精度。以防您使用ts为输出行添加时间戳。

答案 3 :(得分:0)

您可以尝试%3N,它在Windows和Debian 9的git bash中都有效。