我正在闹钟,获取当前时间如下:
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)
日历.MINUTE, -5)
...但没有任何作用
我读了这个链接 Set Alarm To Alert 5 Minutes Before a certian Time .. 但我无法将它应用到我的代码中
谁能告诉我将闹钟减去 5 分钟?
提前致谢
问候
最佳答案
我不确定您是否以正确的方式使用 Calendar 实例,但这里有一个示例显示在使用 add -5 到当前日历时时间会发生变化
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
关于Android:从我的闹钟中减去分钟数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18645074/