首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于日期与星期的有关问题

2012-05-23 
关于日期与星期的问题Java codepublic static int getDayOfWeek(String date){DateFormat df new Simple

关于日期与星期的问题

Java code
public static int getDayOfWeek(String date){        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");        Date date1 = new Date();        try{            date1 = df.parse(date);        }catch(Exception e){                    }        Calendar c = Calendar.getInstance();        c.setFirstDayOfWeek(Calendar.SATURDAY); //设置星期的第一天        c.setTime(date1);        return c.get(Calendar.DAY_OF_WEEK_IN_MONTH);    }

代码如上面所示,方法代码是确定输入的日期是当月的第几个星期,测试过能输出星期数,但有误差!例如:输入"2012-05-21"得出3,"2012-05-22"得出4,代表不同一个星期,但这两个日期明明是星期一跟星期二,应该是是同一个星期的,之后我加入
c.setFirstDayOfWeek(Calendar.SATURDAY); 这段代码,但效果一样还是有误差!
有谁知道问题出在哪里?

[解决办法]
把return c.get(Calendar.DAY_OF_WEEK_IN_MONTH);
改成return c.get(Calendar.WEEK_OF_MONTH);
[解决办法]
Calendar.DAY_OF_WEEK_IN_MONTH 是指当前月中的第几个星期。
21号是第三周的末尾。
22号时第四周的开始。

所以21号返回3,22号返回4.

热点排行