Maison >Java >JavaBase >Java détermine si une chaîne est une date légale

Java détermine si une chaîne est une date légale

尚
original
2019-12-02 11:27:593779parcourir

Java détermine si une chaîne est une date légale

Jugez si une chaîne comme "2018-02-30" est une date correcte et raisonnable : (Recommandé : tutoriel vidéo 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;
    }

Classe SimpleDateFormat

SimpleDateFormat est une classe concrète qui formate et analyse les dates en fonction des paramètres régionaux. Elle permet le formatage (date → texte), l'analyse (texte → date) et la normalisation. SimpleDateFormat permet la sélection de n’importe quel modèle de format date/heure défini par l’utilisateur.

La classe SimpleDateFormat a principalement les trois méthodes de construction suivantes.

SimpleDateFormat() : construit SimpleDateFormat avec le format et les paramètres régionaux par défaut.

SimpleDateFormat (String pattern) : construit un SimpleDateFormat avec le format spécifié et les paramètres régionaux par défaut.

SimpleDateFormat(String pattern,Locale locale) : construit SimpleDateFormat avec le format spécifié et les paramètres régionaux spécifiés.

Pour plus de connaissances sur Java, veuillez faire attention à la colonne Tutoriel de base Java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn