我开发了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