今天碰到一个比较棘手的问题,请朋友清点一下!
根据某年某月某周得到一个具体的时间范围!
例如2007年9月第一周,是从什么时候开始,什么时候结束!

解决方案 »

  1.   

    可以用Calendar类实现,具体查下API吧
      

  2.   

    Calendar里好像没有直接设置第几周的方法吧。
    学习
      

  3.   

    这是第二星期的,第一星期可能跨月,不知道你的要求,就自己看着该吧.
    Calendar c = GregorianCalendar.getInstance();
    c.set(Calendar.YEAR, 2007);
    c.set(Calendar.MONTH, 9-1);
    c.set(Calendar.WEEK_OF_MONTH, 2);
    c.set(Calendar.DAY_OF_WEEK, 1);
    System.out.println(c.getTime());
    c.add(Calendar.DATE, 6);
    System.out.println(c.getTime());
      

  4.   

    mysql> select date_sub('2007-09-18',interval dayofweek('2007-09-18')-2 day) as b
    egin, date_add('2007-09-18',interval (8-dayofweek('2007-09-18')) day) as end;+------------+------------+
    | begin      | end        |
    +------------+------------+
    | 2007-09-17 | 2007-09-23 |
    +------------+------------+
    1 row in set (0.00 sec)答案比较繁琐,不知道有没有更好的函数.
      

  5.   

    mysql> select date_sub('2007-09-01',interval dayofweek('2007-09-01')-2 day) as b
    egin, date_add('2007-09-01',interval (8-dayofweek('2007-09-01')) day) as end;
    +------------+------------+
    | begin      | end        |
    +------------+------------+
    | 2007-08-27 | 2007-09-02 |
    +------------+------------+
    1 row in set (0.00 sec)