Java校验8位字符串是否为正确的日期格式
import java.text.ParseException; import java.text.SimpleDateFormat; /** * 校验8位字符串是否为正确的日期格式 * @author 【J.H】 * 参考:https://blog.csdn.net/cc_yy_zh/article/details/73181010 */ public class Demo1 { //校验8位字符串是否为正确的日期格式 private static boolean isValidDate(String str) { boolean result = true; //判断字符串长度是否为8位 if(str.length() == 8){ // 指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写; //SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); try { // 设置lenient为false. // 否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01 format.setLenient(false); format.parse(str); } catch (ParseException e) { // e.printStackTrace(); // 如果throw java.text.ParseException或者NullPointerException,就说明格式不对 result = false; } }else{ result = false; } return result; } public static void main(String[] args) { String s = "2018042"; System.out.println(isValidDate(s)); } }