ホームページ >Java >&#&チュートリアル >Java で日付形式を検証するにはどうすればよいですか?
Java での日付形式の検証
ユーザー入力文字列を扱う場合、指定された日付が特定の日付形式に従っていることを確認することが重要になります。形式。 Java で日付形式を効率的に検証する方法は次のとおりです。
例外処理に関するメモ
形式が不明な場合、文字列を日付値に解析することで問題が発生する可能性があります。したがって、このようなシナリオでは例外を適切に処理することが不可欠です。
SimpleDateFormat を使用したアプローチ
簡単な方法の 1 つは、SimpleDateFormat を利用することです。
Date date = null; try { SimpleDateFormat sdf = new SimpleDateFormat(format); date = sdf.parse(value); if (!value.equals(sdf.format(date))) { date = null; } } catch (ParseException ex) { // Handle exceptions here } if (date == null) { // Invalid date format } else { // Valid date format }
これこのアプローチでは、元の文字列を解析された日付の書式設定されたバージョンと比較します。一致する場合、日付形式は有効です。
例:
たとえば、文字列「20130925」が dd/MM/yyyy 形式であるかどうかを確認することを検討してください。
isValidFormat("dd/MM/yyyy", "20130925") // Returns false
さまざまな形式向けの拡張ソリューション
Java 8 以降では、DateTime API を利用できます。これにより、さまざまな日付と時刻の形式を検証できます。
LocalDateTime ldt = null; DateTimeFormatter fomatter = DateTimeFormatter.ofPattern(format, locale); try { ldt = LocalDateTime.parse(value, fomatter); String result = ldt.format(fomatter); return result.equals(value); } catch (DateTimeParseException e) { // Attempt parsing as date or time only } return false;
このアプローチでは、さまざまな解析を試みて結果を比較することで、複数の形式 (日付のみ、時刻付き日付、時刻のみ) を処理します。
更新された例:
更新されたソリューションの使用:
isValidFormat("dd/MM/yyyy", "20130925") // Returns false isValidFormat("dd/MM/yyyy", "25/09/2013") // Returns true isValidFormat("dd/MM/yyyy", "25/09/2013 12:13:50") // Returns false
以上がJava で日付形式を検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。