この思考を Java タイマーで行うには、毎日朝 8 時と夜 8 時にメソッドを実行する必要があります。このシナリオのタイマーを設定する方法。
4 に答える
2
Timer クラスを使用します。
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 8);
Timer timer = new Timer();
timer.schedule(new RemindTask(), calendar.getTime());
class RemindTask extends TimerTask {
public void run() {
}
}
同様の行で、夕方の時間用の別のタイマーも作成できます。もう 1 つのオプションは、開始時刻が朝 8 で間隔が 12 時間の単一タイマーを使用することです。
Quartz Schedulerなどのスケジューリング用の他のライブラリを使用することもできます。
于 2013-04-11T04:28:46.190 に答える
1
必要なことを行うライブラリはたくさんあります。例としてcron4jを見てください。
于 2013-04-11T04:28:30.310 に答える
1
TimerTask を毎正時に実行するようにスケジュールし、カレンダーを使用して 8 かどうかを確認できます。
long hour = 3600 * 1000;
new Timer().scheduleAtFixedRate(new TimerTask() {
public void run() {
if (Calendar.getInstance().get(Calendar.HOUR) == 8) {
// run
}
}
}, new Date(System.currentTimeMillis() / hour * hour), hour);
サマータイムに切り替わっても8時には走ります
于 2013-04-11T04:40:07.893 に答える
1
次のような関数を使用して、定期的に時間を確認できます。
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class currentTime {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
cal.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
System.out.println( sdf.format(cal.getTime()) );
}
}
したがって、カウンターを用意して、x回の反復ごとに実行します。
于 2013-04-11T04:29:27.393 に答える