转换方法: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的方法有哪些的详细内容。