Date转cron表达式
//"ss mm HH dd MM ? yyyy"
private static final SimpleDateFormat sdf = new SimpleDateFormat("ss mm HH dd MM ? yyyy");
@Test
public void testScheduleTask(){
String formatTimeStr = null;
formatTimeStr = sdf.format(new Date());
System.out.println(formatTimeStr);
}
cron表达式转日期
先上依赖
<!-- https://mvnrepository.com/artifact/com.cronutils/cron-utils -->
<dependency>
<groupId>com.cronutils</groupId>
<artifactId>cron-utils</artifactId>
<version>7.0.5</version>
</dependency>
import com.cronutils.model.CronType
import com.cronutils.model.definition.CronDefinition
import com.cronutils.model.definition.CronDefinitionBuilder
import com.cronutils.model.time.ExecutionTime
import com.cronutils.parser.CronParser
import java.time.LocalDateTime
import java.time.ZonedDateTime
CronDefinition definition = CronDefinitionBuilder.instanceDefinitionFor(CronType.QUARTZ)
CronParser parser = new CronParser(definition)
ZonedDateTime now = ZonedDateTime.now()
List<LocalDateTime> data = new ArrayList<>(5)
ExecutionTime executionTime = ExecutionTime.forCron(parser.parse("0 2/10 0 1 * ? *"))
for (int i = 0; i < 5; i++) {
Optional<ZonedDateTime> next = executionTime.nextExecution(now)
now = next.get()
data.add(now.toLocalDateTime())
}
println(data)
运行结果