检查日期需求:

日期格式如:20120101或者2012-01-01

直接用SimpleDateFormat sdf = new SimpleDateFormat("YYYYMMDD");不管用

思路:

先单独检查这样的格式,然后再去检查字符串日期的有效性。

例如:20120101

先用正则检查:[0-9]{8},再用SimpleDateFormat转日期,判断是否符合。

例如:[0-9]{4}-[0-9]{2}-[0-9]{2}

先用正则检查:这个值是否是4个数字1个横线2个数字1个横线

通过这层检查,可以再进一步,检查月份是否大于12,日是否大于31。

将日期拆成年月日3份,转成数字,即可。

再进一步,1、3、5、7、8、10、12月,日是否小于等于31。等等

JAVA判断时间格式为 "YYYY-MM-DD"_X2017_8_26的博客_java判断日期格式