判断⽇期字符串是否是对应格式的⽇期字符串
1:⼯具类——本例的核⼼,其中有两点注意的地⽅,⼀是使⽤了严格转换⽅式,⼆是将转换成的⽇期⼜转换成字符串和原字符串进⾏了⼆次⽐较
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
DateFormat;
ParseException;
SimpleDateFormat;
import java.util.Date;
/**
* @date 2017-05-10 上午 09:08:00
* @since: JDK 1.7
* @Version: V1.0
*/
public class DateUtil {
/**
* 声明⼀个⽇志记录器
*/
private static final Logger LOGGER = Logger(DateUtil.class);
/**
* 判断是否是对应的格式的⽇期字符串
* @param dateStr
* @param datePattern
* @return
*/
public static boolean isRightDateStr(String dateStr,String datePattern){
DateFormat dateFormat = new SimpleDateFormat(datePattern);
try {
//采⽤严格的解析⽅式,防⽌类似 “2017-05-35” 类型的字符串通过
dateFormat.setLenient(false);
dateFormat.parse(dateStr);
Date date = (Date)dateFormat.parse(dateStr);
//重复⽐对⼀下,防⽌类似 “2017-5-15” 类型的字符串通过
String newDateStr = dateFormat.format(date);
if(dateStr.equals(newDateStr)){
return true;
}else {
日期字符串是什么("字符串dateStr:{},不是严格的 datePattern:{} 格式的字符串",dateStr,datePattern);
return false;
}
} catch (ParseException e) {
<("字符串dateStr:{},不能按照 datePattern:{} 样式转换",dateStr,datePattern);
return false;
}
}
}
2:简单的测试类
public class TestMain {
public static void main(String[]args){
System.out.println(DateUtil.isRightDateStr("2017-05-15","yyyy-MM-dd"));
System.out.println(DateUtil.isRightDateStr("2017-5-15","yyyy-MM-dd"));
System.out.println(DateUtil.isRightDateStr("2017-01-88","yyyy-MM-dd"));
System.out.println(DateUtil.isRightDateStr("2017-21-88","yyyy-MM-dd"));
System.out.println(DateUtil.isRightDateStr("21:88","HH:mm"));
System.out.println(DateUtil.isRightDateStr("01:10","HH:mm"));
System.out.println(DateUtil.isRightDateStr("25:00","HH:mm"));
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论