采用SimpleDateFormat类的parse方法进行判断,如果转换不成功,就会出现异常,
具体代码如下:
1 package com.test01; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 6 public class test03 { 7 8 public static void main(String[] args) { 9 System.out.println(isValidDate("2018/12/12 02:02:12")); 10 } 11 12 public static boolean isValidDate(String str) { 13 boolean convertSuccess=true; 14 // 指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写; 15 SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); 16 try { 17 //设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01 18 format.setLenient(false); 19 format.parse(str); 20 } catch (ParseException e) { 21 // e.printStackTrace(); 22 // 如果throw java.text.ParseException或者NullPointerException,就说明格式不对 23 convertSuccess=false; 24 } 25 return convertSuccess; 26 } 27 }