java 怎么获取@Scheduled cron的值
时间: 2023-12-08 19:37:58 浏览: 121
要获取@Scheduled cron的值,可以使用Spring框架提供的Cron表达式解析器CronSequenceGenerator。具体步骤如下:
1.在类中注入CronSequenceGenerator。
```java
@Autowired
private CronSequenceGenerator cronSequenceGenerator;
```
2.使用CronSequenceGenerator的fromCron方法解析cron表达式。
```java
String cron = "0 0 0 * * ?";
CronSequenceGenerator cronSequenceGenerator = new CronSequenceGenerator(cron);
```
3.使用CronSequenceGenerator的next方法获取下一个执行时间。
```java
Date nextExecutionTime = cronSequenceGenerator.next(new Date());
```
4.将获取到的下一个执行时间格式化为字符串。
```java
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nextExecutionTimeString = sdf.format(nextExecutionTime);
```
完整代码如下:
```java
@Autowired
private CronSequenceGenerator cronSequenceGenerator;
public void getNextExecutionTime() {
String cron = "0 0 0 * * ?";
CronSequenceGenerator cronSequenceGenerator = new CronSequenceGenerator(cron);
Date nextExecutionTime = cronSequenceGenerator.next(new Date());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nextExecutionTimeString = sdf.format(nextExecutionTime);
System.out.println("Next execution time: " + nextExecutionTimeString);
}
```
阅读全文