我需要在 Unix/Linux 中以所需的格式显示日期和时间。我想要的格式是:Unix 或 Linux 中的 dd/mm/yyyy hh:mm:ss:ms。我使用以下命令接近了:
echo $(date +%x_%r)
这将返回:
08/20/2012_02:26:14 PM
有什么建议么?
答案1
如果您想要毫秒而不是纳秒精度,您可以使用%3N
而不是%N
:
$ date +'%d/%m/%Y %H:%M:%S:%3N'
12/04/2014 18:36:20:659
或您想要的用途$(…)
:
$ echo "$(date +'%d/%m/%Y %H:%M:%S:%3N')"
12/04/2014 18:36:20:659
但请注意,%N
根据您的目标系统或 bash 版本,这可能不会实现。在嵌入式系统 »GNU bash,版本 4.2.37(2)-release (arm-buildroot-linux-gnueabi)« 上进行测试,没有%N
(两者都 没有%3N
):
date +"%F %T,%N"
2014-01-08 16:44:47,%N
答案2
date +%x_%H:%M:%S:%N
如果您只需要打印前两个数字作为 ms:
date +%x_%H:%M:%S:%N | sed 's/\(:[0-9][0-9]\)[0-9]*$/\1/'
将其存储在 var 中:
VAR=$(date +%x_%H:%M:%S:%N | sed 's/\(:[0-9][0-9]\)[0-9]*$/\1/')
答案3
答案4
像这样的东西:
date +'%d/%m/%Y_%H:%M:%S:%N'
用于%N
纳秒(000000000..999999999),因为我现在没有找到毫秒