Bash
如何在 Bash 中以毫秒為單位獲取目前的 Unix 時間?
如何以毫秒為單位獲取目前的 Unix 時間(即自 Unix 紀元 1970 年 1 月 1 日以來的毫秒數)?
這:
date +%s
將返回自紀元以來的秒數。
這:
date +%s%N
返回秒和目前納秒。
所以:
date +%s%N | cut -b1-13
將為您提供自紀元以來的毫秒數 - 目前秒數加上剩下的三個納秒。
和來自MikeyB -
echo $(($(date +%s%N)/1000000))
(除以 1000 只帶來微秒)
您可以簡單地使用
%3N
將納秒截斷為 3 個最高有效數字(然後是毫秒):$ date +%s%3N 1397392146866
這適用於我的Kubuntu 12.04 (Precise Pangolin)。
但請注意,
%N
根據您的目標系統,可能無法實現。例如在嵌入式系統上測試(buildroot rootfs,使用非 HF ARM 交叉工具鏈編譯)沒有%N
:$ date +%s%3N 1397392146%3N
(而且我的(非根)Android 平板電腦也沒有
%N
。)