
本教程操作环境:windows7系统、java8版、DELL G3电脑。
String转Date常见三种方式:SimpleDateFormat、org.apache.commons.lang3.time.DateUtils、DateTimeFormatter(Java 8)
| 描述 | |
|---|---|
| SimpleDateFormat | 线程不安全、文本匹配灵活 |
|
DateUtils |
工具类、支持日期运算 |
| DateTimeFormatter |
线程安全、配合LocalDateTime支持链式编程、方便比较运算 |
下面为示例代码
/**
* 指定当前时间-指定时间是否大于30秒
*/
//SimpleDateFormat
private static void m1) throws ParseException {
String endTime = "哈哈2020-02-07 18:58:02.0你好";//支持特殊格式转换
String format = "哈哈yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormatformat);
Date edate = sdf.parseendTime);
Date now = new Date);
String nowStr = DateFormatUtils.formatnow, format);
ifDateUtils.addSecondsedate, 30).beforenow))){
logger.info"true endTime={} now={}",endTime, nowStr);
}else{
logger.info"false endTime={} now={}",endTime, nowStr);
}
}
//DateUtils
private static void m3) throws ParseException {
String endTime = "2020-02-07 18:58:02.0";
String format = "yyyy-MM-dd HH:mm:ss";
Date edate = DateUtils.parseDateendTime, format, "yyyy-MM-dd HH:mm:ss.SSS");//支持多格式匹配
Date now = new Date);
String nowStr = DateFormatUtils.formatnow, format);
ifDateUtils.addSecondsedate, 30).beforenow))){
logger.info"true endTime={} now={}",endTime, nowStr);
}else{
logger.info"false endTime={} now={}",endTime, nowStr);
}
}
//DateTimeFormatter
private static void m2){
String endTime = "2020-02-07 18:58:02";
String format = "yyyy-MM-dd HH:mm:ss";
LocalDateTime now = LocalDateTime.now);
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPatternformat);
String nowStr = now.formatdateTimeFormatter);
ifLocalDateTime.parseendTime, dateTimeFormatter)
.plusSeconds30).isBeforeLocalDateTime.now))){//链式编程
logger.info"true endTime={} now={}",endTime, nowStr);
}else{
logger.info"false endTime={} now={}",endTime, nowStr);
}
}
登录后复制
相关视频教程推荐:Java视频教程
