0
シェルスクリプト内の2つの日付の差を計算したい場合、結果が3か月より大きい場合、正しいstart_dateを入力するためにエラーがスローされます。例えばシェルスクリプト内の日付の差を計算する
は考える:START_DATE = "2016年2月15日"、END_DATE = date +%Y-%m-%d
感謝。
シェルスクリプト内の2つの日付の差を計算したい場合、結果が3か月より大きい場合、正しいstart_dateを入力するためにエラーがスローされます。例えばシェルスクリプト内の日付の差を計算する
は考える:START_DATE = "2016年2月15日"、END_DATE = date +%Y-%m-%d
感謝。
これは完璧な解決策ではありません。なぜなら、毎月30日ということを前提としていますが、始めるには良い点です。
#!/bin/sh
start_date="2016-02-15"
end_date=$(date +%Y-%m-%d)
start_date_int=$(date -ud "${start_date}" +'%s')
end_date_int=$(date -ud "${end_date}" +'%s')
seconds=$((${end_date_int} - ${start_date_int}))
days=$((${seconds}/86400)) # 60*60*24
months=$((${days}/30))
if [ "${months}" -ge 3 ]; then
# is greater than 3 or equal 3
echo "error"
fi