我用Java日曆類工作做到以下幾點Java日曆邏輯:幫助
- 設定開始日期
- 設定結束日期
- 該範圍內的任何日期是「有效「日期
我有這個有點工作,有些不是。請參閱下面的代碼:
nowCalendar.set(Calendar.DATE, nowCalendar.get(Calendar.DATE) + offset);
int nowDay = nowCalendar.get(Calendar.DATE);
Calendar futureCalendar = Calendar.getInstance();
futureCalendar.set(Calendar.DATE, nowDay + days);
Date now = nowCalendar.getTime();
Date endTime = futureCalendar.getTime();
long now_ms = now.getTime();
long endTime_ms = endTime.getTime();
for (; now_ms < endTime_ms; now_ms += MILLIS_IN_DAY) {
valid_days.addElement(new Date(now_ms));
System.out.println("VALID DAY: " + new Date(now_ms));
}
基本上,我設置了「NOW」日曆和「未來」的日曆,然後我比較兩個日曆找到有效天數。在我的日曆上,有效日期將以白色陰影顯示,無效日期以灰色陰影顯示。你會發現兩個變量:
offset = three days after the current selected date
days = the number of valid days from the current selected date
這個工程......除了噹噹前選定的日期是本月的最後一天,兩天之前(三級一起)。我認爲它的抵消肯定是搞砸了,但邏輯在其他地方起作用。有任何想法嗎?
BalusC-我沒有實現你的解決方案(這是一個更清潔,謝謝),但我仍然擊中我原來的問題。在選擇我的任何日曆日期之前,NOW日曆是:2011年3月18日,而未來日曆是2011年3月31日。在選擇了本月最後三天之一後,NOW日曆將變爲2011年4月3日,而FUTURE日曆將變爲2011年4月2日。 – littleK 2011-03-18 19:44:53
得到它的工作 - 謝謝。毫無疑問你毫無疑問是毫無疑問的。 – littleK 2011-03-18 20:04:02
不客氣。 – BalusC 2012-01-27 21:02:48