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!