我正在寻找一种方法,每次都进行预定的活动。例如,在hh:00:00我希望java执行命令
System.out.println("It's " + hh + " o'clock");
我之前和Java类Timer和Calendar做过类似的事情,现在我已经遇到了Joda Time库我想知道Joda Time中是否有与类类似的东西。
答案 0 :(得分:0)
这些问题似乎混淆了任务的调度以及表示基础DateTimes的目的。如上所述,Quartz将是一个适合调度的解决方案。
尝试尽可能地回答你的问题,从JodaTime的角度来看,我可以看到API文档中没有Timer实现。我倾向于将JodaTime视为底层机器时间轴的人类表示,即以可读格式显示系统时间。
如果您打算在打印中做什么,可以这样做:
System.out.println("It's " + new DateTime().hourOfDay() + " o'clock");;
如果你在JodaTime上寻找更多关于时钟/定时器的信息,我能找到的最接近的东西可能对你有帮助,那就是DateTimeUtils.getMillis()
使用底层系统实现,请注意你可以改变它您选择的不同定时器/时钟。
/**
* System millis provider.
*/
static class SystemMillisProvider implements MillisProvider {
/**
* Gets the current time.
* @return the current time in millis
*/
public long getMillis() {
return System.currentTimeMillis();
}
}
答案 1 :(得分:0)
请参阅Java 5及更高版本中内置的Executor类。特别是ScheduledExecutorService
。请参阅Tutorial。
使用更多信息搜索StackOverflow以获取许多问题和解答。