日期:2014-05-20  浏览次数:20743 次

SimpleDateFormat类怎么将"W"定义为一周开始为周一?
SimpleDateFormat默认W(week in month,一个月的第几周)一周开始为周日,也就是周日开始算一周
如:

SimpleDateFormat f = new SimpleDateFormat("W");
format.f(new Date());

我想让其W定义的一周开始为周日,尝试了:
SimpleDateFormat f = new SimpleDateFormat("W");
Calendar c=Calendar.getInstance();
c.setTimeInMillis(input);
c.setFirstDayOfWeek(Calendar.MONDAY);
format.format(c.getTime())

失败了。。仍然是一周开始是周日。。。

我只好改成傻办法:
format.format(c.getTime())+c.get(Calendar.WEEK_OF_MONTH)


请问怎么样直接将W改为一周开始为周一呢?

------解决方案--------------------
Java code

Calendar c=Calendar.getInstance(); 
c.setFirstDayOfWeek(2) ;