Méthode de conversion : 1. Utilisez SimpleDateFormat pour formater l'heure ; 2. Utilisez "org.apache.commons.lang3.time.DateUtils" pour formater l'heure ;
L'environnement d'exploitation de ce tutoriel : système windows7, version java8, ordinateur DELL G3.
Il existe trois manières courantes de convertir une chaîne en date : SimpleDateFormat, org.apache.commons.lang3.time.DateUtils, DateTimeFormatter (Java 8)
Description | |||||||||
---|---|---|---|---|---|---|---|---|---|
SimpleDateFormat | Correspondance de texte flexible et non sécurisée | ||||||||
|
Classe d'outils, prend en charge les opérations de date | ||||||||
DateTimeFormatter |
Thread- sûr, coopère avec LocalDateTime Prend en charge la programmation en chaîne et facilite les opérations de comparaison |
Ce qui suit est l'exemple de code
/** * 指定当前时间-指定时间是否大于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); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!