读书人

计算时间间隔 日历牌下的 周数

发布时间: 2012-10-06 17:34:01 作者: rapoo

计算时间间隔 日历牌上的 周数

?

函数:

?

/** * 计算两个日期内的 日历牌的 间隔周数 * @param c_begin * @param c_end */public int getWeeksByRange(Calendar c_begin, Calendar c_end) {DateFormatSymbols dfs = new DateFormatSymbols();String[] weeks = dfs.getWeekdays();int count = 1;c_end.add(Calendar.DAY_OF_YEAR, 1); // 结束日期下滚一天是为了包含最后一天while (c_begin.before(c_end)) {System.out.println("第" + count + "周  日期:"+ new java.sql.Date(c_begin.getTime().getTime()) + ", "+ weeks[c_begin.get(Calendar.DAY_OF_WEEK)]);if (c_begin.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {count++;}c_begin.add(Calendar.DAY_OF_YEAR, 1);}System.out.println("total weeks: " + count);return count;}

?

调用:

?

                                        Date startDate = Begindate();Date endDate = Enddate();Calendar c_begin = new GregorianCalendar();Calendar c_end = new GregorianCalendar();c_begin.setTime(startDate);c_end.setTime(endDate);//c_begin.set(startDate.getYear(), startDate.getMonth()-1, startDate); // Calendar的月从0-11,所以4月是3.//c_end.set(2012, 0, 20); // Calendar的月从0-11,所以5月是4.     结果:        weeksCount = getWeeksByRange(c_begin, c_end);
?

读书人网 >编程

热点推荐