0
我想計算shell腳本中兩個日期之間的差異,如果結果大於三個月,那麼它應該拋出錯誤以輸入正確的start_date。計算shell腳本中日期之間的差異
例如考慮:起始日期= 「2016年2月15日」 日期,結束日期= date +%Y-%m-%d
感謝。
我想計算shell腳本中兩個日期之間的差異,如果結果大於三個月,那麼它應該拋出錯誤以輸入正確的start_date。計算shell腳本中日期之間的差異
例如考慮:起始日期= 「2016年2月15日」 日期,結束日期= 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