转换方法:1、使用SimpleDateFormat来格式化时间;2、使用“org.apache.commons.lang3.time.DateUtils”来格式化时间;3、使用DateTimeFormatter来格式化时间。
本教程操作环境: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 SimpleDateFormat(format); Date edate = sdf.parse(endTime); Date now = new Date(); String nowStr = DateFormatUtils.format(now, format); if(DateUtils.addSeconds(edate, 30).before((now))){ 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.parseDate(endTime, format, "yyyy-MM-dd HH:mm:ss.SSS");//支持多格式匹配 Date now = new Date(); String nowStr = DateFormatUtils.format(now, format); if(DateUtils.addSeconds(edate, 30).before((now))){ 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.ofPattern(format); String nowStr = now.format(dateTimeFormatter); if(LocalDateTime.parse(endTime, dateTimeFormatter) .plusSeconds(30).isBefore(LocalDateTime.now())){//链式编程 logger.info("true endTime={} now={}",endTime, nowStr); }else{ logger.info("false endTime={} now={}",endTime, nowStr); } }
相关视频教程推荐:Java视频教程
以上是java中将string转为date的方法有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!