2013-02-14 159 views
1
timer.scheduleAtFixedRate(function_to_execute, 0, 5000); 

我已经读过上面的例子,但我想在特定的日期和时间,如2013/01/13,13:15 pm开始函数。如何在android中设置计时器?

如何设置timer.scheduleAtFixedRate参数?

非常感谢。

回答

1

scheduleAtFixedRate方法被重载。

第一:

public void scheduleAtFixedRate(TimerTask task, 
           Date firstTime, 
           long period) 

二(代码中使用此):

public void scheduleAtFixedRate(TimerTask task, 
           long delay, 
           long period) 

所以,在spesific时间运行,您可以使用通Date对象为第二个参数。

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); 

更多:Timer.scheduleAtFixedRate

+0

非常感谢。有用! =] – 2013-02-14 02:36:28

+0

不客气。 – 2013-02-14 02:45:04

1

您需要的DateTime转换为长值,则使用延时参数此长值。

下面是将日期转换为长整型值的示例,与将datetime转换为长整型值的方式相同,并在延迟时间参数中使用此长整型值。

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); 

谢谢。

+0

非常感谢。有用! =] – 2013-02-14 02:35:22