ひよっこ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】ファイルの存在チェック

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

関連

【Java】StringTokenizerクラスで文字列分割

文字列をカンマやスペースなど、任意の区切り文字で分割する方法。 やり方は多分いろいろあるけど、今回はStringTokenizerクラスを使用するやり方。 [crayon-5bc5a32e4beb94 …

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

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

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

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

【Java】String型とint型の型変換

文字列と数値の型変換を行うことは結構あって、一度覚えてしまえば忘れることはないと思うけど念のためメモ。 まずは文字列を数値に変換する方法。 [crayon-5bc5a32e4c699186101382 …