ホームページ  >  記事  >  Java  >  Java で日付文字列を特定の形式に対して検証するにはどうすればよいですか?

Java で日付文字列を特定の形式に対して検証するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-30 06:26:27767ブラウズ

How to Validate a Date String Against a Specific Format in Java?

現在の文字列の日付形式が Java で必要な形式に従っていることを確認する方法

質問:

日付のみと日時の両方の形式を考慮して、ユーザーが入力した文字列が指定された日付形式と一致するかどうかを検証する Java メソッド。

解決策:

さまざまなアプローチを評価した後、私たちは SimpleDateFormat クラスを使用することにしました。詳細な実装は次のとおりです:

<code class="java">import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateFormatter {

    public static boolean isValidFormat(String format, String value) {
        Date date = null;
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        try {
            date = sdf.parse(value);
            if (!value.equals(sdf.format(date))) {
                date = null;
            }
        } catch (ParseException e) {
            // Date parsing failed
        }
        return date != null;
    }

    public static void main(String[] args) {
        System.out.println("isValid - dd/MM/yyyy with 20130925 = " + isValidFormat("dd/MM/yyyy", "20130925"));
        System.out.println("isValid - dd/MM/yyyy with 25/09/2013 = " + isValidFormat("dd/MM/yyyy", "25/09/2013"));
        System.out.println("isValid - dd/MM/yyyy with 25/09/2013 12:13:50 = " + isValidFormat("dd/MM/yyyy", "25/09/2013  12:13:50"));
        System.out.println("isValid - yyyy-MM-dd with 2017-18--15 = " + isValidFormat("yyyy-MM-dd", "2017-18--15"));
    }
}</code>

使用法:

必要な日付形式を最初の引数として、入力文字列を 2 番目の引数として isValidFormat メソッドに渡します。このメソッドは、入力文字列が指定された形式に一致するかどうかを示すブール値を返します。

サンプル出力:

isValid - dd/MM/yyyy with 20130925 = false
isValid - dd/MM/yyyy with 25/09/2013 = true
isValid - dd/MM/yyyy with 25/09/2013 12:13:50 = false
isValid - yyyy-MM-dd with 2017-18--15 = false

以上がJava で日付文字列を特定の形式に対して検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。