7

Javaのカレンダーを使用して、特定の日時にアラームを設定しています。ユーザーが特定の日時を選択したときにこれを機能させる方法を知っています。たとえば、ユーザーが2013年7月17日の午前10時45分にアラームを設定したい場合、次のコードを使用しています。

//Get the calendar instance.
Calendar calendar = Calendar.getInstance();       

//Set the time for the notification to occur.
calendar.set(Calendar.YEAR, 2013);
calendar.set(Calendar.MONTH, 6);
calendar.set(Calendar.DAY_OF_MONTH, 17);                 
calendar.set(Calendar.HOUR_OF_DAY, 10);
calendar.set(Calendar.MINUTE, 45);
calendar.set(Calendar.SECOND, 0);

上記のコードはすべて、特定の日時にアラームを設定したい場合に非常にうまく機能します。私の質問は、ユーザーユーザーが現在の日時から20分後にアラームを鳴らしたいカレンダーインスタンスを設定するにはどうすればよいですか?したがって、現在の時刻が午後6時50分である場合、午後7時10分にアラームを鳴らす必要があります。これをプログラムで設定するにはどうすればよいですか?

Java.util.calendarの組み込みメソッドを使用して現在の日付と時刻を取得し、Calendar.MINUTE変数に20分を追加しようとしました。ただし、現在の時刻が深夜から20分未満(日付が変更される)、または別の時間から20分(時間が変更される)である場合、これでうまくいくとは思いません。この問題を回避するにはどうすればよいですか?ご協力ありがとうございます!

4

3 に答える 3

5

あなたはcalendar.addを見たいと思います、あなたがオーバーフローを得るならば、それは次のフィールドをインクリメントします。

http://developer.android.com/reference/java/util/Calendar.html

于 2012-09-29T02:11:24.390 に答える
4

これも試すことができます

 Calendar c = Calendar.getInstance();
 c.setTime(new Date()); // 
 c.add(Calendar.YEAR, 5); // Add 5 years to current year
 c.add(Calendar.DATE, 5); // Add 5 days to current date
 c.add(Calendar.MONTH, 5); // Add 5 months to current month
 System.out.println(c.getTime());
于 2015-03-16T10:54:25.033 に答える
1

このリンクで指定されているcalendar.setメソッドを試すことができます。 特定の時間にAndroidでカレンダーを設定する方法 これは、指定された時間にサービスを実行したいときにうまくいきました。

于 2013-03-18T11:18:56.717 に答える