
No.2ベストアンサー
- 回答日時:
先ず、パソコンは、常時電源が入ってもいいのですよね。
カレンダーから、今日の日付から時間と分と秒を
抽出して、条件分で、その時間に達したら
ラベル等に、表示させては、如何ですか???
例えば、
Calendar ca = Calendar.getInstance();
System.out.println(ca.get(Calendar.DATE));
if (ca.get(Calendar.DATE) == 21){
System.out.println("21日です");
}
以下のようにすると、
現在の日付を取得して、日にちを抽出して、そうすれば
21日ごとに、日付を出力するに、応用が出来ると思います。
No.4
- 回答日時:
繰り返し間隔が毎日といった場合の最適な方法はOSが持っているジョブ管理機能の利用だと思う。
WindowsならタスクスケジューラとかUN*Xならcronとか。Javaで行うなら、java.util.Timerクラスを利用すれば基本的なことはできる。java.util.TimerTaskクラスのrunメソッドに行いたい処理を記述してオーバーライドしたクラスを作り、TimerインスタンスのscheduleAtFixedRateメソッドのの第一引数に渡す。第二引数には初回実行の日時を表したDateを、第三引数には1日=24*3600*1000ミリ秒を渡す。これで初回実行の時刻と同じ時刻に処理が繰り返される。
他には、TimerTaskと初回実行の日時だけをscheduleメソッドに渡して、行いたい処理の中で次回の実行の日時を新たなTimerインスタンスにスケジューリングするといった方法もある。
単純にはこれでいいが、プログラムが止まれば当然終了するし、そうでなくても何らかのトラブルで処理が遅延したり中断した場合の対策や処理のログ取り等にも対処しないといけなくなるかもしれない。そういったことを考えると、Javaで書くのは毎回行いたい処理を行う部分だけで、それを実行するタイミング等はOSのジョブ管理機能に任せるのがいいと思う。
この回答へのお礼
お礼日時:2010/02/24 14:43
皆様、回答ありがとうございます.
皆様のアドバイスを参考にさせていただいたら
問題を解決することができました.
ありがとうございました.
No.3
- 回答日時:
java.util.Timerクラスを使えばいいのでは? schedule(TimerTask, Date)メソッドで、指定した内容の動作を指定した日時に実行できます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javaプログラムからポップアッ...
-
数値の定数を付ける時
-
Tomcat高負荷時の設定について
-
VBScriptでPing
-
ラジオボタンの選択判定
-
C#で別スレッドの終了を知りたい
-
重い処理中のアニメーションgif...
-
ftp 同時複数接続の負荷テスト...
-
C# PostMessage BeginInvok
-
C#の処理をリアルタイムに表示...
-
[Java] while(true)の意味
-
tryの終了
-
VBScriptでのWord印刷
-
重い処理を行っているとGIFアニ...
-
ラベルの表示までが異常に遅い...
-
「タイプ初期化子が例外をスロ...
-
エクセルVBAで、条件に一致する...
-
変数名の付け方
-
private static という変数の修飾
-
複数の変数を宣言する時、同時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンの選択判定
-
Javaプログラムからポップアッ...
-
[Java] while(true)の意味
-
Javaでのデバッグコード削除
-
tryの終了
-
doGetとdoPostの違い
-
数値の定数を付ける時
-
onBlurとonFocusの処理順序につ...
-
BLOB型の画像データを表示したい
-
1日の始まりを合図する
-
ラベルの表示までが異常に遅い...
-
C#で別スレッドの終了を知りたい
-
javaのプログラムが止まる
-
Tomcat高負荷時の設定について
-
表示待ち時間に「処理中...」の...
-
どうコーディングしたらよいの...
-
マルチスレッドのデバッグ
-
ExcelVBA で文字列の特定の文字...
-
スレッド1とスレッド2を交互に...
-
C#の処理をリアルタイムに表示...
おすすめ情報