Linux
取整數並創建日期格式
我可以取一個日期並將其轉換為整數。
date_as_integer = $("2020-06-13" | sed "s/-//g")
但是,有沒有辦法將其轉換回日期?
使用 bash 參數擴展進行字元串操作:
date2int() { printf "%s\n" "${1//-/}" } int2date() { printf "%s-%s-%s\n" "${1:0:4}" "${1:4:2}" "${1:6:2}" } date +%F # => 2020-07-24 n=$(date2int "$(date +%F)"); echo "$n" # => 20200724 d=$(int2date "$n"); echo "$d" # => 2020-07-24
這種技術絕對不適用於日期算術。
# subtract 2 days from Jan 1 date="2000-01-01" n=$(date2int "$date") int2date "$((n - 2))" # => 2000-00-99
您不妨堅持使用 GNU 日期
date="2000-01-01" date -d "$date - 2 day" "+%F" # => 1999-12-30