Heim  >  Artikel  >  Java  >  Java bestimmt, ob eine Zeichenfolge ein gültiges Datum ist

Java bestimmt, ob eine Zeichenfolge ein gültiges Datum ist

尚
Original
2019-12-02 11:27:593716Durchsuche

Java bestimmt, ob eine Zeichenfolge ein gültiges Datum ist

Beurteilen Sie, ob eine Zeichenfolge wie „2018-02-30“ ein korrektes und vernünftiges Datum ist: (Empfohlen: Java-Video-Tutorial)

 //假设传入的日期格式是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-Klasse

SimpleDateFormat ist eine konkrete Klasse, die Datumsangaben abhängig vom Gebietsschema formatiert und analysiert. Sie ermöglicht Formatierung (Datum → Text), Analyse (Text → Datum) und Normalisierung. SimpleDateFormat ermöglicht die Auswahl eines beliebigen benutzerdefinierten Datums-/Uhrzeitformatmusters.

Die SimpleDateFormat-Klasse verfügt hauptsächlich über die folgenden drei Konstruktionsmethoden.

SimpleDateFormat(): Konstruiert SimpleDateFormat mit Standardformat und Standardgebietsschema.

SimpleDateFormat(String-Muster): Konstruiert ein SimpleDateFormat mit dem angegebenen Format und Standardgebietsschema.

SimpleDateFormat(String pattern,Locale locale): Konstruiert SimpleDateFormat mit dem angegebenen Format und dem angegebenen Locale.

Weitere Java-Kenntnisse finden Sie in der Spalte Java Basic Tutorial.

Das obige ist der detaillierte Inhalt vonJava bestimmt, ob eine Zeichenfolge ein gültiges Datum ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn