回答:
のGNU実装でdate
、昨日の日付を表示するには、次のように入力します。
$ date --date="1 days ago"
または
$ date --date="-1 day"
あなたの質問:
$ date --date="25 days ago"
または
$ date --date="-25 day"
変数で使用するには、次のように使用できます$()
。
pastDate=$(date --date="-25 day")
echo "$pastDate"
一般的なケースのn
日と特定の日付の場合:
#!/bin/bash
date1="Tue Sep 2 07:53:47 EEST 2014"
echo "Before? "
read n
date --date="$date1 -$n day"
以下では、日付と日数が宣言されています。
スクリプトは日付を秒単位でTp1
変換し、指定されたタイムポイント2(Tp2
)から日数(秒単位)を引いた場合のタイムポイント1()を計算します。最後に秒は日付に変換されます。
Date_m=2014/09/15
Days=25
Seconds=$(echo "$Days"*60*60*24| bc -l)
Tp2date=$(date -d "$Date_m" +%Y/%m/%d)
Tp2sec=$(date -d "$TD" +%s)
Tp1sec=$(echo "$TDsec"-"$Seconds"| bc -l)
Tp1date=$(date -d @$Tp1sec)
echo "$Tp1date"
15/09/2014
で、年が最初ではありません。
date
は15/09/2014
有効な日付として解析しません。