当前位置: 首页 > 知识库问答 >
问题:

Java计时器在特定时间安排作业-忽略dst调整

金瑞
2023-03-14

我们使用Java计时器(Java1.7)来安排一些打印工作。无论DST如何,我们都希望作业在每天的特定时间打印。目前,如果我们将作业设置为打印在4:00 AM,期间为24小时,它将正确打印直到DST日。在秋季夏令时,印刷时间是凌晨3点,而不是4点。我怎样才能解决这个问题?我们希望它在一年中的每一天的特定时间打印。

共有2个答案

熊锐进
2023-03-14

实现你的时间任务

class Task extends TimerTask {

    @Override
    public void run() {
        if (Calendar.getInstance().get(Calendar.HOUR_OF_DAY) == 4) {
            System.out.println(new Date());
        }
    }
}

并安排它在每个小时的顶部运行。任务将决定当前区域的哪个小时是凌晨4点

郁和通
2023-03-14

你可以使用java。util。Calendar获取时间(日期),因为Calendar类已经进行了DST调整。查看每日迭代器的工作方式。类在清单4中实现。DailyIterator类。

 类似资料:
  • WorkManager是一个库,用于对满足其约束后保证执行的工作进行排队。 因此,在查看了Constraints类之后,我还没有找到任何函数来为工作添加时间约束。例如,我希望在早上8:00AM开始执行一个工作(该工作可以是OneTimeWorkRequest或PerioadWorkRequest两种类型中的任何一种)。如何添加约束以使用WorkManager调度此工作。

  • 如何: 在几个月的特定日期安排工作? 大约有10天。 其次是有一个模拟cron的工具,这样你就可以传递日期/时间,工具会告诉你是否触发了cron触发器

  • null null 线程组用于登录事务,有57个示例。当我点击Run时,整个线程不是运行1800秒,而是运行84秒 运行前有什么需要检查或配置的吗?

  • 问题内容: 我的Java Scheduler有一个问题,我的实际需要是我必须在特定时间启动我的进程,并且我将在特定时间停止,我可以在特定时间启动我的进程,但是我不能在特定时间停止我的进程,如何指定进程在调度程序中运行多长时间(在这里我不会放),任何人对此都有建议。 问题答案: 您可以使用带有2个计划的计划,一个计划运行任务,另一个计划终止任务-参见下面的简化示例:

  • 问题内容: 从我可以看到,Gearman不支持计划的作业或延迟的作业。我当时想也许可以先将计划的作业排入队列,然后在该时间段到期后将其添加到Gearman队列中。 任务是持久的,因为它们以文件形式写入服务器的假脱机目录中的目录。因此,唯一的瓶颈可能是将任务添加到Gearman队列的简单脚本,因为它无法在服务器之间分布。将其传递给Gearman来处理实际的工作意味着我可以进行适当的工作记录等。 这是

  • 现在我每天下午3点运行我的cron作业 但是我想一天运行两次cron作业。上午10点30分和下午2点30分 我相信此命令将在上午 10:30 运行。我应该如何在下午 2:30 运行它?