ホームページ  >  記事  >  Java  >  Java は文字列が有効な日付であるかどうかを判断します

Java は文字列が有効な日付であるかどうかを判断します

尚
オリジナル
2019-12-02 11:27:593721ブラウズ

Java は文字列が有効な日付であるかどうかを判断します

「2018-02-30」のような文字列が正しく妥当な日付であるかどうかを判断します: (推奨: java ビデオ チュートリアル)

 //假设传入的日期格式是yyyy-MM-dd HH:mm:ss, 也可以传入yyyy-MM-dd,如2018-1-1或者2018-01-01格式
 
    public static boolean isValidDate(String strDate) {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            // 设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,比如2018-02-29会被接受,并转换成2018-03-01 
            
            format.setLenient(false);
            Date date = format.parse(strDate);
            
            //判断传入的yyyy年-MM月-dd日 字符串是否为数字
            String[] sArray = strDate.split("-");
            for (String s : sArray) {
                boolean isNum = s.matches("[0-9]+");
                //+表示1个或多个(如"3"或"225"),*表示0个或多个([0-9]*)(如""或"1"或"22"),?表示0个或1个([0-9]?)(如""或"7")
                if (!isNum) {
                    return false;
                }
            }
        } catch (Exception e) {
            // e.printStackTrace();
            // 如果throw java.text.ParseException或者NullPointerException,就说明格式不对
            return false;
        }
 
        return true;
    }

SimpleDateFormat クラス

SimpleDateFormat は、ロケールに依存した方法で日付の書式設定と解析を行う具体的なクラスです。これにより、書式設定 (日付 → テキスト)、解析 (テキスト → 日付)、および正規化が可能になります。 SimpleDateFormat を使用すると、ユーザー定義の日付/時刻形式パターンを選択できます。

SimpleDateFormatクラスには主に以下の3つの構築メソッドがあります。

SimpleDateFormat(): デフォルトの形式とデフォルトのロケールを使用して SimpleDateFormat を構築します。

SimpleDateFormat(String pattern): 指定された形式とデフォルトのロケールを使用して SimpleDateF ormat を構築します。

SimpleDateFormat(String pattern,Locale locale): 指定された形式と指定されたロケールを使用して SimpleDateF ormat を構築します。

Java についてさらに詳しく知りたい場合は、Java 基本チュートリアル 列に注目してください。

以上がJava は文字列が有効な日付であるかどうかを判断しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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