我開發了Java中的日曆小部件(專門用於BlackBerry開發)。用戶可以查看當前月份的所有日期,以及以月/年的方式向前/向後移動。Java幫助比較日曆對象
當我繪製日曆(以表格格式)時,我想更改當前日期前X天的任何天數的顏色。我現在可以檢查這僅在屏幕上顯示的日曆是同月爲當月:
if (calendarMonth == currentMonth) {
for (int i = 1; i <= (NUM_DAYS_IN_MONTH); i++) {
if (i > currentDay + Constants.CALENDAR_DAYS_IN_ADVANCE) {
System.out.println("VALID: " + i);
}
}
}
但我無法編碼時所顯示的日曆是一個不同的月份,從當前的解決方案月。例如,今天是1月26日,因此1月日曆將顯示所有1月份的日子爲灰色。當用戶改變月至2月,然後在接下來的幾天應該是灰色的:
Constants.CALENDAR_DAYS_IN_ADVANCE = 14;
1/26/2011 - 2/9/2011
過去的這個範圍內的任何日子將是一個黑色的顏色。所以基本上,我正在尋找編寫一個函數來接受兩個java.util.Calendar對象(顯示的活動日曆和當前日期的日曆),該函數將返回CURRENT DATE - CALENDAR_DAYS_IN_ADVANCE。
我還需要牢記以下幾點:
1)我不能比較與java.util.Calendar.add()或java.util.Calendar.subtract日期()函數,如Java爲黑莓是有限
2)這一做法在幾年的工作也一樣,例如十二月2010 - 2011年1月
任何人能與邏輯幫助嗎?
謝謝!
新增backberry標籤設置月份,爲什麼你做了monthOfYear-1時 – adrianboimvaser 2011-01-26 20:09:41
? – ghy 2011-07-14 04:43:37