Date

在 Unix 或 Linux 中以 dd/mm/yyyy_hh:mm:ss:ms 顯示時間戳

  • March 4, 2020

我需要在 Unix/Linux 中以所需格式顯示日期和時間。我想要的格式是:Unix 或 Linux 中的 dd/mm/yyyy hh:mm:ss:ms。我使用以下命令關閉了:

echo $(date +%x_%r)

這將返回:

08/20/2012_02:26:14 PM

有什麼建議?

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/')

如果您想要毫秒而不是納秒精度,您可以使用%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

引用自:https://unix.stackexchange.com/questions/45926