timer.scheduleAtFixedRate(function_to_execute, 0, 5000);
我已经阅读了上面的示例,但我想在特定日期和时间启动该功能,例如 2013/01/13, 13:15pm。
如何设置timer.scheduleAtFixedRate
参数?
太感谢了。
该scheduleAtFixedRate
方法已重载。
第一的 :
public void scheduleAtFixedRate(TimerTask task,
Date firstTime,
long period)
第二(你的代码使用了这个):
public void scheduleAtFixedRate(TimerTask task,
long delay,
long period)
因此,要在特定时间运行,您可以使用 pass Date
object 作为第二个参数。
Date date = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss a", Locale.ENGLISH).parse("2013/01/13 13:15 pm");
timer.scheduleAtFixedRate(function_to_execute, date, 5000);
您需要将 DateTime 转换为 Long 值,然后在延迟时间参数中使用此 Long 值。
这是将日期转换为长值的示例,与将日期时间转换为长值并在延迟时间参数中使用此长值的方式相同。
String str_date="11-June-07";
DateFormat formatter ;
Date date ;
formatter = new SimpleDateFormat("dd-MMM-yy");
date = (Date)formatter.parse(str_date);
long longDate=date.getTime();
System.out.println("Today is " +longDate );
谢谢。