使用Joda Time的Java Schedule活动,如Timer

时间:2013-03-08 14:50:11

标签: java timer scheduled-tasks jodatime

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

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

我之前和Java类Timer和Calendar做过类似的事情,现在我已经遇到了Joda Time库我想知道Joda Time中是否有与类类似的东西。

2 个答案:

答案 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)

ScheduledExecutorService的

请参阅Java 5及更高版本中内置的Executor类。特别是ScheduledExecutorService。请参阅Tutorial

使用更多信息搜索StackOverflow以获取许多问题和解答。