`
yangpanwww
  • 浏览: 621838 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java获取日期属于当年第几周

 
阅读更多
        String today = "2013-01-14";
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Date date = null;
        try {
            date = format.parse(today);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        Calendar calendar = Calendar.getInstance();
        calendar.setFirstDayOfWeek(Calendar.MONDAY);
        calendar.setTime(date);
        
        System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));

 

用到判断日期属于当年的第几周,用了一个有点复杂的代码。看Calendar类时,看到了WEEK_OF_YEAR,很实用。但是用时又出现了点小问题,比如2010-01-03,返回的结果是2(即2010年的第二个星期),原因是美国是以周日为每周的第一天。

  我想到了更改星期的起始日,setFirstDayOfWeek(int value),传了一个1,想把周一设成第一天,但是没有起到效果。查文档后改成了Calendar.MONDAY就好使了,却不太清楚为什么用1不好使,用Calendar.MONDAY就行呢?

  

  补:又查看了一下“常量字段值”,发现MONDAY的值根本就不是想当然的1,而是2。

  SUNDAY :1

  MONDYA :2

  TUESDAY :3

  WEDNESDAY :4

  THURSDAY : 5

  FRIDAY : 6

  SATURDAY :7

 

原始文章:http://yongangina.blog.163.com/blog/static/18283623920118523730640/

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics