1
timer.scheduleAtFixedRate(function_to_execute, 0, 5000);

上記の例を読みましたが、2013/01 / 13、13:15pmなどの特定の日時に機能を開始したいと思います。

timer.scheduleAtFixedRateパラメータの設定方法は?

どうもありがとう。

4

2 に答える 2

1

scheduleAtFixedRateメソッドがオーバーロードされています。

初め :

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

2番目(あなたのコードはこれを使用しました):

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

Dateしたがって、特定の時間に実行するには、2番目のパラメーターにpassobjectを使用できます。

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

于 2013-02-14T02:29:04.827 に答える
1

DateTimeをLong値に変換してから、このLong値を遅延時間パラメーターで使用する必要があります。

これは、datetimeをLong値に変換し、このlong値をdelaytimeパラメーターで使用するのと同じ方法でdateを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 );

ありがとう。

于 2013-02-14T02:30:55.570 に答える