java实现判断时间是否为合法时间
最近遇到⼀个需求,输⼊字符串,判断为⽇期的话再进⾏后⾯的⽐较⼤⼩之类的操作,但是合法⽇期的格式也是⽐较多的,利⽤正则表达式⼜太长了。所以后⾯利⽤的⽅法就是,先把输⼊的字符串转成⼀种固定的时间格式,然后利⽤java转String为Date的⽅法,看程序是否抛出异常来判断⽇期是否合法,需要注意的是需要将验证设置为严格的,也就是lenient设置为false,默认为true,不然的会出现例如2019-03-1223为正确的⽇期类型,主要是直接把1223换算成年⽉⽇加上去了。
下⾯代码实现:
/**
* @author Carol
* @date 2020年7⽉14⽇18:11:16
java时间日期格式转换* 验证字符串是否为合法⽇期⽀持2019-03-12 2019/03/12 2019.03.12 HH:mm:ss HH:mm常⽤格式
* @param date
* @return
*/
public static boolean verifyDateLegal(String date) {
if ((ains("-") && ains("/"))
|| (ains("-") && ains("."))
|| (ains("/") && ains("."))){
return false;
}
StringBuilder timeSb = new StringBuilder();
date = placeAll("[\\.]|[//]", "-");
String[] time = date.split(" ");
timeSb.append(time[0]);
timeSb.append(" ");
if (time.length > 1) {
timeSb.append(time[1]);
}
int i = time.length > 1 ? time[1].length() : 0;
for ( ; i < 8 ; i ++) {
if (i == 2 || i == 5){
timeSb.append(":");
} else {
timeSb.append("0");
}
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
sdf.setLenient(false);
sdf.String());
return true;
} catch (ParseException e) {
return false;
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论