Java使用Joda类时间计时器安排活动

Java使用Joda类时间计时器安排活动,java,timer,scheduled-tasks,jodatime,Java,Timer,Scheduled Tasks,Jodatime,我正在寻找一种方法,每次都要做一项预定的活动。例如,在hh:00:00,我希望java执行该命令 System.out.println("It's " + hh + " o'clock"); 我以前也用Java类Timer和Calendar做过类似的事情,现在我遇到了Joda时间库,我想知道Joda time中是否有类似于Timer类的东西。这些问题似乎混淆了任务调度与表示基础日期时间的目的。如前所述,Quartz将是调度工件的合适解决方案 为了尽可能地回答您的问题,从JodaTime的角度来

我正在寻找一种方法,每次都要做一项预定的活动。例如,在hh:00:00,我希望java执行该命令

System.out.println("It's " + hh + " o'clock");

我以前也用Java类Timer和Calendar做过类似的事情,现在我遇到了Joda时间库,我想知道Joda time中是否有类似于Timer类的东西。

这些问题似乎混淆了任务调度与表示基础日期时间的目的。如前所述,Quartz将是调度工件的合适解决方案

为了尽可能地回答您的问题,从JodaTime的角度来看,API文档中没有我可以看到的计时器实现。我倾向于将JodaTime视为底层机器时间线的人类表示,即系统时间上以可读格式显示的内容

对于您希望在打印中执行的操作,您可以执行以下操作:

System.out.println(“它是”+new DateTime().hourOfDay()+“o点钟”)

如果您想在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();
        }
    }
ScheduledExecutorService 请参阅Java 5及更高版本中内置的Executor类。特别是。看


用更多信息搜索StackOverflow以获得许多问题和答案。

可能是spring scheduler?JDK中有一个类。这可能足以满足您的要求。对于更类似于CRON的方法,请看一下。还有石英调度器。@Henrik-是的,但如果我们在使用Joda和石英组合进行调度之前找到了答案,那就太好了-使用这种调度器,测试计划任务将很容易。JodaTIme具有更改全局时间的方法。