ひよっこ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】String型とint型の型変換

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

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

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

【Java】Fileオブジェクトから最終更新日時を取得

Fileオブジェクトから、そのファイルの最終更新日時を取得する方法。

  関連

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

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

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

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

Date型からString型、String型からDate型への変換方法。 こういった型変換はしばしば行うことがあるけど、その都度やり方を調べている気がするのでメモ。 これはSimpleDateForm …