Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 同时检查当前时间_Java_Concurrency - Fatal编程技术网

Java 同时检查当前时间

Java 同时检查当前时间,java,concurrency,Java,Concurrency,我正在用java创建一个程序,我想检查每分钟的当前时间,以及它是否等于特定时间,例如上午10点println(“是上午10点做这个”)。到目前为止,我得到的时间是这样的 public static String RemindMe() { DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm"); Date date = new Date(); System.out.printl

我正在用java创建一个程序,我想检查每分钟的当前时间,以及它是否等于特定时间,例如上午10点println(“是上午10点做这个”)。到目前为止,我得到的时间是这样的

public static String RemindMe() {
        DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm");
        Date date = new Date();
        System.out.println(dateFormat.format(date));

        if (dateFormat.format(date).equals("2013/03/08 11:19"))
            System.out.println("equal");
        else
            System.out.println("not equal");

        return dateFormat.format(date);
    }
但我如何让它每分钟检查一次当前时间,如果可能的话,同时检查。谢谢

您可以使用:


注意:Java中的惯例是以小写形式开始方法名。

不要认为这是一个可接受的解决方案。例如,如果频率为1小时而不是1分钟,此解决方案可以在9:35、10:35等时间触发提醒()。但根据要求,它必须在9:00、10:00等时间触发@sgp15,如果需要在特定时间运行,则需要调整初始延迟。我不清楚情况是否如此。@JBNizet-1小时只是为了举例说明。这个想法是在分界点产生触发器。我误解了答案。我会立即启动调度程序,让它每分钟检查一次当前tume。@assylias-就像这样。scheduleAtFixedRate(checkTime,60-((60+Calendar.getInstance().get(Calendar.SECOND))%60),1,TimeUnit.MINUTES);。。。。您正在以“艰难”的方式进行此操作(好吧,至少每次您都在使用一个新的格式化程序,这很好)。它的支持类(比如)应该让这更直观。例如,我一直认为时区不重要,但它可能。。。。。
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
final Runnable checkTime = new Runnable() {
    public void run() {
        remindMe();
    }
};
scheduler.scheduleAtFixedRate(checkTime, 0, 1, TimeUnit.MINUTES);