我正在使用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分钟(小时会发生变化),我认为这不会起作用。我怎样才能解决这个问题?谢谢你的帮助!
答案 0 :(得分:5)
你想看看calendar.add,如果你出现溢出,它会增加下一个字段。
http://developer.android.com/reference/java/util/Calendar.html
答案 1 :(得分:3)
你也可以尝试这个
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());
答案 2 :(得分:1)
您可以尝试此链接中指定的calendar.set方法。 How to set the calendar in android for particular hour 当我想在指定时间运行服务时,这对我有用。