diff --git a/api-mapper/src/main/java/com/heyu/api/data/utils/DateUtils.java b/api-mapper/src/main/java/com/heyu/api/data/utils/DateUtils.java index 0717367..14cd8c4 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/utils/DateUtils.java +++ b/api-mapper/src/main/java/com/heyu/api/data/utils/DateUtils.java @@ -49,6 +49,8 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; public static String YYYY_MM_DD_HH_MM = "yyyy-MM-dd HH:mm"; public static String YYYY_MM_DD_HH = "yyyy-MM-dd HH"; + + public static String YYYY_MM_DD_HH_MM_UTC = "yyyy-MM-ddTHH:mm"; public static String YYYY_MM_DD_HH_MM_SS_SSS = "yyyy-MM-dd HH:mm:ss.SSS"; diff --git a/api-web/api-interface/src/main/java/com/heyu/api/schedule/CronTriggerUtils.java b/api-web/api-interface/src/main/java/com/heyu/api/schedule/CronTriggerUtils.java index 50e09c6..2282d8e 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/schedule/CronTriggerUtils.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/schedule/CronTriggerUtils.java @@ -73,18 +73,29 @@ public class CronTriggerUtils { return list; } + + + + public static void main(String[] args) throws Exception { - String cronExpression = "0 * * * * ?"; + String cronExpression = "0 0 0 1 * ?"; Date nextTunTime = CronTriggerUtils.getCurrentExecTime(cronExpression); System.out.println(nextTunTime); + DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + CronSequenceGenerator cronSequenceGenerator = new CronSequenceGenerator(cronExpression); - for (int i = 0; i < 10; i++){ - log.info("执行时间:" + df.format(nextTunTime)); + + for (int i = 0; i < 10; i++) { + log.info("执行时间:" + df.format(nextTunTime) + ",currentDate :{}", df.format(new Date())); Date nextTriggerTime = cronSequenceGenerator.next(nextTunTime);//lastMinute 我这里是上一分钟的date类型对象 nextTunTime = nextTriggerTime; } + + + } + } diff --git a/api-web/api-interface/src/main/java/com/heyu/api/schedule/TimeLevelEnums.java b/api-web/api-interface/src/main/java/com/heyu/api/schedule/TimeLevelEnums.java new file mode 100644 index 0000000..16793a2 --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/schedule/TimeLevelEnums.java @@ -0,0 +1,71 @@ +package com.heyu.api.schedule; + +import com.heyu.api.data.utils.DateUtils; + +import java.text.SimpleDateFormat; +import java.util.Date; + +public enum TimeLevelEnums { + years("年"), + months("月"), + days("日"), + hours("小时"), + minutes("分钟"), + seconds("秒"), + ; + + private String level; + + TimeLevelEnums(String level) { + this.level = level; + } + + public String getLevel() { + return level; + } + + public void setLevel(String level) { + this.level = level; + } + + + public static TimeLevelEnums getTimeLevel(String date) { + + if(date == null) { + return null; + } + + if(date.endsWith(" 00:00:00")){ + return TimeLevelEnums.months; + }else if(date.endsWith(" 00:00:00")){ + + + + return TimeLevelEnums.months; + } + + return null; + } + + + public static String getDfCurrentDate(TimeLevelEnums enums){ + if(TimeLevelEnums.years.equals(enums)){ + SimpleDateFormat sdf = new SimpleDateFormat(DateUtils.YYYY); + return sdf.format(new Date()); + }else if (TimeLevelEnums.months.equals(enums)){ + SimpleDateFormat sdf = new SimpleDateFormat(DateUtils.YYYY_MM); + return sdf.format(new Date()); + }else if (TimeLevelEnums.days.equals(enums)){ + SimpleDateFormat sdf = new SimpleDateFormat(DateUtils.YYYY_MM_DD); + return sdf.format(new Date()); + }else if (TimeLevelEnums.hours.equals(enums)){ + SimpleDateFormat sdf = new SimpleDateFormat(DateUtils.YYYY_MM_DD_HH); + return sdf.format(new Date()); + }else if (TimeLevelEnums.minutes.equals(enums)){ + SimpleDateFormat sdf = new SimpleDateFormat(DateUtils.YYYY_MM_DD_HH_MM); + return sdf.format(new Date()); + } + SimpleDateFormat sdf = new SimpleDateFormat(DateUtils.YYYY_MM_DD_HH_MM_SS); + return sdf.format(new Date()); + } +}