ひよっこSEのコツコツ備忘録

システム開発に携わる中で、知識として学んだことや覚えたことを書き綴っています。

Java

【Java】日付妥当性チェック

投稿日:2014年1月9日 更新日:

画面から入力された値が日付として妥当かどうかをチェックする方法。

ここで言ってる「妥当かどうか」と言うのは、

① そもそもそんな日付が存在するのか
(2014年10月40日とか、うるう年とか・・・)

② 想定している書式で日付が入力されているか
“2014/01/23”の書式を期待していたのに“20140123”と入力されたとか・・・)

この2つ。入力された値がこの2つを満たしているかどうかをチェックする。

 

 

やっていることは、チェック対象文字列のDate型への変換。

変換できれば妥当性OK、変換できなければ妥当性NG。

んで、変換する際の「日付文字列はこの書式で受け取りますよ~」というものを、SimpleDateFormatオブジェクト作成時のパラメータに指定している感じ。

んで、ポイントとしてはSimpleDateFormatオブジェクトのsetLenient(false)。この設定をすることで、日付の厳密な解析を行ってくれるようになるんで、この設定が漏れると日付の値のチェックをしてくれない。(上の①のチェックをしてくれない)

ちなみに、SimpleDateFormatオブジェクトに“yyyy/MM/dd”という書式を指定した場合、“2014/01/09”“2014/1/9”も妥当性OK。でも、“yyyyMMdd”という書式を指定した場合は、“20140109”はOKで“201419”はNG。

-Java
-

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

【Java】System.out.println()の入力ショートカット

毎度お馴染みの標準出力関数、System.out.println()。 Eclipseのエディタ上で”sysout”と入力してからCtrl+Spaceキーでショートカット入力が …

【Java】数値に変換できる文字列かチェック

文字列を数値に変換できるかどうかのチェック。 apacheのライブラリに便利な関数があるみたいだけど、Java標準の機能だけでチェックする2つのやり方をメモ。 目次1 try-catchでNumber …

【Java】nullか空文字のチェック(isNullOrEmpty)

文字列が「nullもしくは空文字」であることをチェックする場合、C#ではstringクラスにisNullOrEmptyという便利なメソッドが用意されていたりするけど、Javaにはそれがない。 というこ …

【Java】ファイルの存在チェック

任意のパスにファイルもしくはディレクトリが存在しているかどうかは、Fileクラスを使えば簡単にチェックできる。

関連

【Java】前後のスペースを削除(trim)

文字列の前後のスペースを削除するには、trim関数を使用する。

  ただ、trim関数で削除できるのは半角スペースのみで、全 …