Hitachi

JP1 Version 11 JP1/Advanced Shell 


10.3.14 getDateDiff(日付の経過日数の取得)

形式

getDateDiff  [-m|-y]  日付1  日付2

機能

引数に指定された2つの日付の差を出力します。

引数

-m

日付の差を月の単位で出力します。

例えば,日付1が2016/05/10で,日付2が2016/06/10の場合は1を出力し,日付1が2016/05/10で,日付2が2016/06/09の場合は0を出力します。

-y

日付の差を年の単位で出力します。

例えば,日付1が2015/05/10で,日付2が2016/05/10の場合は1を出力し,日付1が2015/05/10で,日付2が2016/4/10の場合は0を出力します。

なお,うるう年の場合は366日を1年と解釈し,うるう年ではない場合は365日を1年と解釈します。

上記オプションをどちらも指定しなかった場合は,日付の差を日の単位で出力します。上記オプションをどちらも指定した場合,エラー終了します。

日付1

日付を示す文字列を指定します。

日付2

日付を示す文字列を指定します。

日付には,dateコマンドにおける絶対日時による日付の形式を指定できます(例:yyyy/mm/dd, yyyy-mm-dd, yyyymmdd, mm/dd/yyyyなど)。

標準出力への出力

日付の差を示す文字列。

終了コード

終了コード

意味

0

正常終了

1以上

エラー終了

注意事項

引数の日付1日付2に指定できる文字列は,dateコマンドでの絶対日時による日付の形式と同じですが,指定できる文字列かどうかのチェックはしません。

使用例

getDateDiff 2016/05/10  2016/06/10           # 「31」が出力される。
getDateDiff -m 2016/05/10  2016/08/20        # 「3」が出力される。
getDateDiff -y 2016/05/10  2018/06/10        # 「2」が出力される。

# 現在の日付と変数date1が示す日付との差を出力する。
getDateDiff $("${ADSH_DIR_CMD}date" +%Y%m%d) "$date1"