为什么 bash 版本不支持毫秒级的时间?

为什么 bash 版本不支持毫秒级的时间?

想要获取 UNIX 服务器中精确到毫秒的时间,但输出显示如下。
当前使用 bash 版本 3.2.57(1)

$ date +%Y-%m-%d:%H:%M:%S.%N                         
2020-10-21:16:06:59.%N

bash 版本 3.2.57(1) 不支持毫秒级时间吗?我该如何在这个版本的 bash 中将时间精确到毫秒?

答案1

这确实像是 Mac 的问题。

$ uname -sr
Darwin 19.6.0

$ /bin/date +%Y-%m-%d:%H:%M:%S.%N
2020-10-21:08:07:50.N

$ /usr/local/opt/coreutils/libexec/gnubin/date +%Y-%m-%d:%H:%M:%S.%N
2020-10-21:08:07:53.827515000

后者date是通过安装的自制

答案2

date 不是内部 bash 命令

你的日期命令是哪个版本的?

$ /bin/date --version

如果您查看结果,是否有提到纳秒的 %N:

$ 人日期

可能您必须将较新版本的日期移植到您的系统或编写一个除了打印时间戳之外不执行任何操作的简单程序。

相关内容