Timestamps
如何獲取時間變數的時間戳?
在我的作業系統中
date Tue 01 Nov 2022 06:58:10 PM HKT
獲取unix時間戳
date +%s 1667300297
獲取UTC時間。
date -u Tue 01 Nov 2022 10:58:08 AM UTC
如果我將變數分配為 UTC 時間
x=$(date -u)
那麼如何獲取變數的時間戳呢?
$x +%s bash: Tue: command not found
如果您希望目前時間作為紀元以來的秒數:
x=$(date +%s)
使用
zsh
afterzmodload zsh/datetime
,或者使用最新版本bash
,您也可以這樣做x=$EPOCHSECONDS
。
x=$(date -u)
儲存類似於Tue 01 Nov 2022 10:58:08 AM UTC
or的東西,mar. 01 nov. 2022 12:05:48 UTC
或者2022年 11月 01日 星期二 12:06:04 UTC
取決於使用者的區域設置,系統之間的變化以及$x
.獲取該日期對應的紀元秒數將是困難的。
在 的情況下
Tue 01 Nov 2022 10:58:08 AM UTC
,如果您可以訪問 的 GNU 實現date
,那麼您很幸運,因為這是它通過其-d
選項辨識的日期格式之一。所以:
epoch=$(date -d "$x" +%s)
將在那里工作。您的
date
命令似乎不是 GNU 的命令,但 GNUdate
可能作為gdate
或/opt/gnu/bin/date
…