gpt4 book ai didi

java - 获取下次凌晨 1 点的日期

转载 作者:行者123 更新时间:2023-11-30 06:36:54 27 4
gpt4 key购买 nike

为了运行后台服务,我想安排一个线程在每天凌晨 1 点运行。我怎样才能在 java 中获得这个日期?

Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, HOUR_OF_EXECUTION);
Date date = cal.getTime();

没用。

最佳答案

你应该去找Quartz .

Timer timer = new Timer();
final Callable c = callable;
TimerTask task = new TimerTask() {
public void run() {
c.call();
}
}
t.scheduleAtFixedRate(task, firstExecuteDate, 86400000); // every day

相应地给出 firstExecuteDate 并且你的事情已经完成,更多的是让下一次执行 - 现在

获取下午 1 点的下一个日期。

Calendar cal  = Calendar.getInstance();
Calendar calAtOne = Calendar.getInstance();
calAtOne.set(Calendar.HOUR_OF_DAY,13);
calAtOne.set(Calendar.MINUTE,00);
calAtOne.set(Calendar.SECOND,00);

if(calAtOne.after(cal)){
return calAtOne;
}else{
cal.add(Calendar.DATE,1);
cal.set(Calendar.HOUR_OF_DAY,13);
cal.set(Calendar.MINUTE,00);
cal.set(Calendar.SECOND,00);
return cal;
}

然后减去 currentMillis - (nextExecDate 由上面的代码返回)

关于java - 获取下次凌晨 1 点的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4204932/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com