Android 下一次报警的时间(秒或毫秒)
有了这段代码,我可以使用一些字符串,比如“Wed 10:10” 但我想在下一次报警前设置秒数。可能吗?Android 下一次报警的时间(秒或毫秒),android,alarmmanager,alarm,android-alarms,Android,Alarmmanager,Alarm,Android Alarms,有了这段代码,我可以使用一些字符串,比如“Wed 10:10” 但我想在下一次报警前设置秒数。可能吗? 另外,如果我能够读取描述字段的值以及启用此警报的日期,那对我来说也很好。您需要按照以下方式执行此操作 private void updateAlarmDate(String nextAlarm) { if (nextAlarm.length()==0 || nextAlarm == "") { return; } else { D
另外,如果我能够读取描述字段的值以及启用此警报的日期,那对我来说也很好。您需要按照以下方式执行此操作
private void updateAlarmDate(String nextAlarm) {
if (nextAlarm.length()==0 || nextAlarm == "") {
return;
}
else
{
DateFormat sdf = new SimpleDateFormat("EEE hh:mm aa");
Date alarmDate = null;
try {
alarmDate = sdf.parse(nextAlarm);
} catch (ParseException e) {
e.printStackTrace();
}
int alarmDay = alarmDate.getDay();
Calendar now = Calendar.getInstance();
Date currentDate = now.getTime();
int todayDay = currentDate.getDay();
int daysDiff = 0;
if (todayDay > alarmDay) {
daysDiff = ((7 + (alarmDay - todayDay)) % 7) + 1;
} else {
daysDiff = ((7 + (alarmDay - todayDay)) % 7);
}
now.add(Calendar.DATE, daysDiff);
AlarmFulldate = now.getTime();
AlarmFulldate.setHours(alarmDate.getHours());
AlarmFulldate.setMinutes(alarmDate.getMinutes());
AlarmFulldate.setSeconds(0);
}
}
long millis=AlarmFulldate.getTime()-新日期().getTime();
变量毫秒将有毫秒
使用以下代码从毫秒中获取天、小时和分钟
days = (int) (millis / (1000 * 60 * 60 * 24));
hours = (int) ((millis - (1000 * 60 * 60 * 24 * days)) / (1000 * 60 * 60));
min = (int) (millis - (1000 * 60 * 60 * 24 * days) - (1000 * 60 * 60 * hours))/(1000 * 60);
希望这能帮助您AlarmFulldate只需替换为“日期”
days = (int) (millis / (1000 * 60 * 60 * 24));
hours = (int) ((millis - (1000 * 60 * 60 * 24 * days)) / (1000 * 60 * 60));
min = (int) (millis - (1000 * 60 * 60 * 24 * days) - (1000 * 60 * 60 * hours))/(1000 * 60);