从日历中减去 MONTH 无法正常工作
Substracting MINUTE from Calender not working correctly
我必须使用 AlarmManager
设置闹钟,然后我需要从给定时间减去 10 分钟。但是输出是错误的。它显示输出的差异超过 10 分钟。
我当前的代码如下所示
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Log.e("here value of time",time);
Calendar calendar1 = Calendar.getInstance();
calendar1.setTimeZone(TimeZone.getDefault());
SimpleDateFormat dateFormatter = new SimpleDateFormat("MM-dd-yyyy h:mm a");
try {
calendar1.setTime(dateFormatter.parse(time));
calendar1.set(calendar1.MINUTE,-10);
Log.e("alarm Set for", String.valueOf(calendar1.getTime()));
} catch (ParseException e) {
e.printStackTrace();
}
manager.set(AlarmManager.RTC_WAKEUP, calendar1.getTimeInMillis(), pendingIntent);
我得到这样的日志
here value of time: 11-19-2019 1:30 a.m.
alarm Set for: Tue Nov 19 00:50:00 GMT+05:30 2019
您不是将 -10
添加到当前分钟,而是将分钟设置为 -10
的值,这会使时间倒退!变化
calendar1.set(calendar1.MINUTE,-10);
到
calendar1.set(Calendar.MINUTE, calendar1.get(Calendar.MINUTE) - 10);
更改此行:
calendar1.set(calendar1.MINUTE,-10);
至
calendar1.add(Calendar.MINUTE, -10);
我必须使用 AlarmManager
设置闹钟,然后我需要从给定时间减去 10 分钟。但是输出是错误的。它显示输出的差异超过 10 分钟。
我当前的代码如下所示
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Log.e("here value of time",time);
Calendar calendar1 = Calendar.getInstance();
calendar1.setTimeZone(TimeZone.getDefault());
SimpleDateFormat dateFormatter = new SimpleDateFormat("MM-dd-yyyy h:mm a");
try {
calendar1.setTime(dateFormatter.parse(time));
calendar1.set(calendar1.MINUTE,-10);
Log.e("alarm Set for", String.valueOf(calendar1.getTime()));
} catch (ParseException e) {
e.printStackTrace();
}
manager.set(AlarmManager.RTC_WAKEUP, calendar1.getTimeInMillis(), pendingIntent);
我得到这样的日志
here value of time: 11-19-2019 1:30 a.m.
alarm Set for: Tue Nov 19 00:50:00 GMT+05:30 2019
您不是将 -10
添加到当前分钟,而是将分钟设置为 -10
的值,这会使时间倒退!变化
calendar1.set(calendar1.MINUTE,-10);
到
calendar1.set(Calendar.MINUTE, calendar1.get(Calendar.MINUTE) - 10);
更改此行:
calendar1.set(calendar1.MINUTE,-10);
至
calendar1.add(Calendar.MINUTE, -10);