让 scheduleAtFixedRate 接受小时而不是毫秒?

Make scheduleAtFixedRate accept hours instead of ms?

如何让 scheduleAtFixedRate 以小时而不是毫秒为单位接受参数,如下所示?该程序应 运行 以固定的 1 小时为间隔,即 11:25:00:00、12:25:00:00,依此类推。

public class Kronos {
        public static void main(String[] args) throws ParseException {
            DateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date d = dateFormatter.parse("2017-02-09 11:25:00");

            long hours = 1;
            long msPerHour = 3600000;
            long period = hours * msPerHour;

            Timer timer = new Timer();
            TimerTask taskNew = new TimerTask() {
                @Override
                public void run() {
                    System.out.println("ALL WORK AND NO PLAY MAKES JACK A DULL BOY");
                }
            };

            taskNew.scheduledExecutionTime();
            timer.scheduleAtFixedRate(taskNew, d, period);
        }
    }

最初我考虑过类似TimeFormat.HOURS但我不知道如何实现...

TimeUnit.HOURS.toMillis(hours) 是一种将小时转换为毫秒的简洁方法。有问题的方法似乎不能接受毫秒以外的任何东西。