Java

Javaで時刻チェックを実装する方法

はじめに

Javaで時刻チェック(正規表現を使用)を実装する方法を紹介します。

今回のチェックでは「HH:mm:ss」形式 または「HH:mm」形式で、有効な時刻のみチェックOKとしています。

スポンサーリンク

正規表現による時刻チェック

正規表現を使用した時刻チェックは以下の通り。

/**
 * 時刻チェック
 * @param value 検証対象の値
 * @return 結果(true:時刻、false:時刻ではない)
 */
public static boolean isTime(String value) {
    boolean result = false;

    if (value != null) {
        Pattern pattern = Pattern.compile("^([0-1][0-9]|[2][0-3]):[0-5][0-9]$|^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$");
        result = pattern.matcher(value).matches();
    }

    return result;
}

正規表現を使い「HH:mm:ss」形式と「HH:mm」形式で かつ 時間は「00~23」、分は「00~59」秒は「00~59」の間であれば時刻として判断するようにしています。

動作確認

動作確認結果は以下の通り。

System.out.println("NULL:" + isTime(null));
System.out.println("空文字:" + isTime(""));
System.out.println("HH:mm:ss形式:" + isTime("23:59:59"));
System.out.println("HH:mm形式:" + isTime("23:59"));
System.out.println("時間が不正:" + isTime("50:59"));
System.out.println("分が不正:" + isTime("23:99"));
System.out.println("秒が不正:" + isTime("23:59:99"));
System.out.println("日時:" + isTime("2020-08-27 23:59"));
System.out.println("日付:" + isTime("2020-08-26"));
System.out.println("文字列:" + isTime("あいうえお"));
System.out.println("数値:" + isTime("12345"));

【実行結果】

  • NULL:false
  • 空文字:false
  • HH:mm:ss形式:true
  • HH:mm形式:true
  • 時間が不正:false
  • 分が不正:false
  • 秒が不正:false
  • 日時:false
  • 日付:false
  • 文字列:false
  • 数値:false

最後に

本記事では、Javaで時刻チェックを実装する方法を紹介しました。

【関連記事】

よろしければ記事の評価をお願いします

© 2020 ITを分かりやすく解説