我正在发出警报,请按照以下方式获取当前时间:
public String getAlarmTimeStringFive2db() {
String timef2db = "";
if (alarmTime.get(Calendar.HOUR_OF_DAY) <= 9)
timef2db += "0";
timef2db += String.valueOf(alarmTime.get(Calendar.HOUR_OF_DAY));
timef2db += ":";
if (alarmTime.get(Calendar.MINUTE) <= 9)
timef2db += "0";
timef2db += String.valueOf(alarmTime.get(Calendar.MINUTE));
return timef2db;
}
...
public static long create(Alarm alarm) {
ContentValues cv = new ContentValues();
cv.put(COLUMN_ALARM_ACTIVE, alarm.getAlarmActive());
cv.put(COLUMN_ALARM_TIME, alarm.getAlarmTimeStringFive2db());
...
public void setAlarmTime(String alarmTime) {
String[] timePieces = alarmTime.split(":");
Calendar newAlarmTime = Calendar.getInstance();
newAlarmTime.set(Calendar.HOUR_OF_DAY,
Integer.parseInt(timePieces[0]));
newAlarmTime.set(Calendar.MINUTE, Integer.parseInt(timePieces[1]));
newAlarmTime.set(Calendar.SECOND, 0);
setAlarmTime(newAlarmTime);
}
...
这很好用,例如返回5:35 ......好吧。
我的问题是我想要总是按时减去5分钟。如果时间是5:35,我希望闹钟时间从5:30开始。
我的问题是我不知道如何减去那5分钟。 我试过了
Calendar.MINUTE,Integer.parseInt(timePieces [1],5)
Calendar.MINUTE,-5)
......但没有任何作用
我读了这个链接 Set Alarm To Alert 5 Minutes Before a certian Time ..但我无法将其应用于我的代码
有人能告诉我减去5分钟的闹钟吗?
提前致谢
此致
答案 0 :(得分:3)
我不确定您是否以正确的方式使用Calendar实例,但是这里有一个示例显示使用时将时间更改为当前日历的
Calendar cal = Calendar.getInstance();
System.out.println("Before :" + cal.get(Calendar.MINUTE));
cal.add(Calendar.MINUTE, -5);
System.out.println("After :" + cal.get(Calendar.MINUTE));
,结果将是这样的:
Before :37
After :32