3

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

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

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

4

2 回答 2

0

这些问题似乎将任务的调度与表示基础日期时间的目的混淆了。如前所述,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();
        }
    }
于 2013-05-16T07:12:09.683 回答
0

ScheduledExecutorService

请参阅 Java 5 及更高版本中内置的 Executor 类。具体来说ScheduledExecutorService。请参阅教程

在 StackOverflow 上搜索许多问题和答案,了解更多信息。

于 2015-08-23T08:05:38.330 回答