10.3.11 cmpDate(日付の比較)
形式
cmpDate 日付1 {eq|ne|ge|gt|le|lt} 日付2
機能
引数に指定された2つの日付を比較します。
次の場合,1を出力します。
-
日付の比較結果が真である。
次の場合,0を出力します。
-
日付の比較結果が偽である。
引数
- 日付1
-
日付を示す文字列を指定します。
- 日付2
-
日付を示す文字列を指定します。
日付には,dateコマンドにおける絶対日時による日付の形式を指定できます(例:yyyy/mm/dd,yyyymm-dd,yyyymmdd,mm/dd/yyyyなど)。
- eq
-
日付1が日付2と等しいことを判定します。
- ne
-
日付1が日付2と等しくないことを判定します。
- ge
-
日付1が日付2以上であることを判定します。
- gt
-
日付1が日付2より大きいことを判定します。
- le
-
日付1が日付2以下であることを判定します。
- lt
-
日付1が日付2より小さいことを判定します。
標準出力への出力
1または0。
終了コード
終了コード |
意味 |
---|---|
0 |
正常終了 |
1以上 |
エラー終了 |
注意事項
引数の日付1と日付2に指定できる文字列は,dateコマンドにおける絶対日時による日付の形式と同じですが,指定できる文字列かどうかのチェックはしません。
使用例
cmpDate 2016/05/02 eq 2016/05/02 # 「1」が出力される。 cmpDate 2016/05/02 ne 2016/05/02 # 「0」が出力される。 cmpDate 20160505 ge 20160502 # 「1」が出力される。 cmpDate 20160101 gt 20160502 # 「0」が出力される。 cmpDate 20160505 le 20160502 # 「0」が出力される。 cmpDate 20160101 lt 20160502 # 「1」が出力される。 # 変数date1が示す日付と変数date2が示す日付が異なる場合,1でreturnする。 result=$(cmpDate "$date1" ne "$date2") if [[ $result -eq 1 ]]; then return 1 fi