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