日期:2014-05-17  浏览次数:20797 次

Calendar.DAY_OF_YEAR取值问题
为什么2009年1月1日的Calendar.DAY_OF_YEAR居然是364?直到1月4日才恢复。
d1 = dateFormat.parse(dateStart);//d1=2009-01-01
Calendar c1 = Calendar.getInstance();
c1.setTime(d1);
c1.get(Calendar.DAY_OF_YEAR);//结果居然是364
请高手指点迷津。

------解决方案--------------------
那就是你这里错了
int dayOfWeek = c1.get(Calendar.DAY_OF_WEEK) - 1;//星期 
if(dayOfWeek > 1){ 
c1.add(Calendar.DAY_OF_MONTH, -(dayOfWeek - 1)); 
dayOfWeek = 1; 
}