Java日期转cron表达式,cron表达式转日期

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)

运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43944305/article/details/113850234