Timestamps

使用一個日期變數,但格式不同

  • December 17, 2020

在 shell 腳本中,有以下變數:

datestamp=$(date '+%Y-%m-%d_T%H-%M-%S')

datestamp_pretty=$(date '+%m/%d/%Y at %I:%M:%S %p')

第一個用作輸出文件名的一部分,而第二個用於在文件內容中顯示可讀性好的日期和時間。由於這些是單獨創建的,因此秒數可能會略有下降。有沒有辦法創建一個日期變數,然後以兩種不同的方式對其進行格式化?如果是這樣,這是如何完成的?

如果您使用的是 GNU,這很容易date

首先,從date. 我選擇獲取紀元時間:

epoch=$(date +%s)

然後,將時代轉換為您想要的任何格式,無論您想要多少次:

datestamp=$(date -d @$epoch '+%Y-%m-%d_T%H-%M-%S')
datestamp_pretty=$(date -d @$epoch '+%m/%d/%Y at %I:%M:%S %p')

它應該始終代表您第一次擷取的時間$epoch

如果您沒有 GNU date,則需要一些其他方法將時代轉換為人類日期。

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