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 的内置方法获取当前日期和时间,并尝试将 20 分钟添加到Calendar.MINUTE变量中。但是,如果当前时间距离午夜不到 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 回答