Chào các bạn,
Hiện tại mình đang làm chức năng Alarm giống như các Alarm khác, chỉ có điều giờ thêm phần set Alarm cho các ngày nghỉ lễ.
Vấn đề của mình hiện tại là đang nằm ở giải pháp để tính ra ngày kế tiếp sẽ hiển thị Alarm ( Sau khi Alarm hiển thị lên rồi, sẽ hiển thị thời
điểm kế tiếp).
Nếu không có ngày nghĩ lễ thì mình tham khảo Open Source Alarm Klock là OK, tuy nhiên khi thêm ngày nghỉ vào mình
đang bị bí giải pháp để tính.
Code của Alarm Klock cho phần tính ra thời điểm kêu tiếp theo là:
Mã:
private void findNextOccurrence() {
Calendar now = Calendar.getInstance();
// If this hour/minute/second has already occurred today, move to
// tomorrow.
if (calendar.before(now)) {
calendar.add(Calendar.DATE, 1);
}
if (calendar.before(now)) {
throw new IllegalStateException("Inconsistent calendar.");
}
// If there are no repeats requested, there is nothing left to do.
if (daysOfWeek.equals(Week.NO_REPEATS)) {
return;
}
// Keep incrementing days until we hit a suitable day of the week.
for (int i = 0; i < Day.values().length; ++i) {
Day alarmDay = Week.calendarToDay(calendar
.get(Calendar.DAY_OF_WEEK));
if (daysOfWeek.hasDay(alarmDay)) {
return;
}
calendar.add(Calendar.DATE, 1);
}
throw new IllegalStateException(
"Didn't find a suitable date for alarm.");
}
Giờ mình đã thiết lập thêm ngày nghỉ lễ, vậy mình sẽ phải tính như thế nào để cho ra thời điểm tiếp theo Alarm kêu?
Các bạn giúp mình với.
View more random threads:
Pallet nhựa Lâm Đồng giải pháp hoàn hảo cho nhà kho Pallet nhựa Lâm Đồng là một giải pháp đa năng và hiệu quả trong việc vận chuyển và lưu trữ hàng hóa. Trong đó, pallet nhựa Lâm Đồng không chỉ đáp...
Pallet nhựa Lâm Đồng giải pháp...