経緯
Javaの日付フォーマットの確認方法はぐぐるといくつか出てくるのだが、「1900」や「11:00」など時分形式のバリデーションはいろいろ調べてもあまり出てこなかった。
ちなみに日付のフォーマット確認はSimpleDateFormatなどを利用すればできる。
https://www.sejuku.net/blog/20994
正規表現で調べる方法はいくつか見つかったが、できれば同じようにフォーマッターなどを使用して確認をしたい。
https://www.saka-en.com/java/java-time-check/
方法
DateTimeFormatterを使ってExceptionに入るかどうかで判定すれば時分(hhmm)形式でもできそうだった。
以下のような形で実装する。
import java.time.format.DateTimeParseException;
import java.time.format.DateTimeFormatter;
import java.time.LocalTime;
public boolean checkDateTimeFormat(final String format, final String value) {
try {
LocalTime.parse(value, DateTimeFormatter.ofPattern(format));
} catch (DateTimeParseException e) {
return false;
}
return true;
}
checkDateTimeFormat("HHmm", "1900");
誤りなどあればご指摘もらえますと幸いです。