日付インポート情報 - n日日付

日付インポート情報 - n日日付

変数に特定の日付が格納されているとしますdate_m。デートが((date_m)-25)欲しいです。

例:15/09/2014変数に保存してから、21/08/2014変数に保存された日付から 25 を引くと、その値を返したいと思います。

答え1

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"

源泉

答え2

日付と曜日は以下に通知されます。

スクリプトは、日付を秒単位で変換し、Tp1時点1()から与えられた時点2()から日数(秒)を引いた値を計算しますTp2。最後の秒は再び日付に変換されます。

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"

答え3

少し遅れました。米国以外のdd/mm/yyyy形式の日付を25日目に調整して処理する方法は次のとおりです。

date_m='15/09/2014'
date --date "$(IFS=/ read d m y <<<"$date_m"; echo "$m/$d/$y - 25 days")" +%d/%m/%Y

21/08/2014

文字列リダイレクトやGNUをbash処理できるシェルなどのシェルがあるとします。<<<date

関連情報