页首测试

一个日期加减的小例子

项目中有一个小需求,有点意思,虽然比较简单,但是也考了点基本功,而且有点有趣的东西在里面。

要求如下:生成当天所在周的第一天的日期字符串,比如今天是2011年8月3日,

星期三,那么生成的就是周一,也就是8月1日的日期,格式用如:20110801

求解步骤如下

1,找到当天是本周的第几天dayOfWeek

2,再用2-dayOfWeek得到本周一是今天的几天前!为什么要2-dayOfWeek,而不是1-dayOfWeek呢,因为英语

一周的第一天是从周日(Sunday)开始,而我们的习惯是从周一开始.

3,最后用 Calendar的add方法加上就OK了,代码片段如下:

1 Calendar calendar = GregorianCalendar.getInstance(TimeZone.getTimeZone("GMT"));
2 int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
3 calendar.add( Calendar.DATE, 2-dayOfWeek );
4 //余下代码略
5 ......

  

posted on 2011-08-03 17:44  bovvy  阅读(113)  评论(0)    收藏  举报

导航