Bash

如何在 Bash 中以毫秒為單位獲取目前的 Unix 時間?

  • July 14, 2021

如何以毫秒為單位獲取目前的 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。)

引用自:https://serverfault.com/questions/151109