我需要在每年的特定日期执行一个方法,我怎么能在 java 中做到这一点?
谢谢,
克里斯。
按优先顺序:
Quartz库(强烈推荐)。
java.util.Timer
. 不如 Quartz 强大,但适用于简单的工作。
EJB 计时器服务。它的文档记录很差,它需要一个完整的 Java EE 容器,而且它并没有真正做 Quartz 没有做的任何事情。
查看计时器类
方法:
scheduleAtFixedRate(TimerTask task, Date firstTime, long period)
Schedules the specified task for repeated fixed-rate execution, beginning at the specified time.
会让你做你想做的事。请确保您使用正确的日期。
查看 API,您需要定义一个TimerTask
重载 run() 方法的方法。run() 方法将包含您要调用的方法。
如果你需要更健壮的东西,你也可以使用 Quartz for Cron 比如调度
这将获得当前日期和时间。
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
private String getDateTime() {
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
return dateFormat.format(date);
}
然后创建一个循环,每秒检查一次函数,如果时间是您想要的时间,则使用 if 语句执行您想要的代码。