想要查询上个星期的时间是本年的多少个星期 功能如今天是2号  上个星期是 是由 2011-7-25到  2011-7-31
要得到这样的效果 2011030    2011上本年 030 是 上个星期为本年的第30个星期周            开始时间     结束时间
2011001 2011-1-3 2011-1-9
2011002 2011-1-10 2011-1-16
2011003 2011-1-17 2011-1-23
2011004 2011-1-24 2011-1-30
2011005 2011-1-31 2011-2-6
2011006 2011-2-7 2011-2-13
2011007 2011-2-14 2011-2-20
2011008 2011-2-21 2011-2-27
2011009 2011-2-28 2011-3-6
2011010 2011-3-7 2011-3-13
2011011 2011-3-14 2011-3-20
2011012 2011-3-21 2011-3-27
2011013 2011-3-28 2011-4-3
2011014 2011-4-4 2011-4-10
2011015 2011-4-11 2011-4-17
2011016 2011-4-18 2011-4-24
2011017 2011-4-25 2011-5-1
2011018 2011-5-2 2011-5-8
2011019 2011-5-9 2011-5-15
2011020 2011-5-16 2011-5-22
2011021 2011-5-23 2011-5-29
2011022 2011-5-30 2011-6-5
2011023 2011-6-6 2011-6-12
2011024 2011-6-13 2011-6-19
2011025 2011-6-20 2011-6-26
2011026 2011-6-27 2011-7-3
2011027 2011-7-4 2011-7-10
2011028 2011-7-11 2011-7-17
2011029 2011-7-18 2011-7-24
2011030 2011-7-25 2011-7-31
2011031 2011-8-1 2011-8-7
2011032 2011-8-8 2011-8-14
2011033 2011-8-15 2011-8-21
2011034 2011-8-22 2011-8-28
2011035 2011-8-29 2011-9-4
2011036 2011-9-5 2011-9-11
2011037 2011-9-12 2011-9-18
2011038 2011-9-19 2011-9-25
2011039 2011-9-26 2011-10-2
2011040 2011-10-3 2011-10-9
2011041 2011-10-10 2011-10-16
2011042 2011-10-17 2011-10-23
2011043 2011-10-24 2011-10-30
2011044 2011-10-31 2011-11-6
2011045 2011-11-7 2011-11-13
2011046 2011-11-14 2011-11-20
2011047 2011-11-21 2011-11-27
2011048 2011-11-28 2011-12-4
2011049 2011-12-5 2011-12-11
2011050 2011-12-12 2011-12-18
2011051 2011-12-19 2011-12-25
2011052 2011-12-26 2012-1-1

解决方案 »

  1.   

    用js判断
    或者在后台判断  
    时间先转换一下
    在计算一下就ok
      

  2.   


    Calendar c = Calendar.getInstance();
    c.setFirstDayOfWeek(Calendar.MONDAY);
    System.out.println("上周是本年的第" + (c.get(Calendar.WEEK_OF_YEAR)-1) + "个星期");
      

  3.   


    Up.....  API里面的提供方法。。楼主太不熟悉API了
    关于计算本周是一年中的第几周, 某天是一年中的第几天,是一个星期的第几三,这都是有API可以直接掉用的
      

  4.   


    注:
    由于Calendar的缺省设置是周日、周一......周六为一周,所以要用setFirstDayOfWeek来改设置
    如果要输出成2011001这样的格式,把(c.get(Calendar.WEEK_OF_YEAR)-1)转换成字符串再在前面补0
      

  5.   

    for example
    import java.util.*;class Test {    
        public static void main(String[] args) {
            Calendar c = Calendar.getInstance();
            c.set(Calendar.YEAR, 2011);
            c.set(Calendar.MONTH, 0);
            c.set(Calendar.DATE, 1);
            int day = c.get(Calendar.DAY_OF_WEEK);
            if (day == Calendar.SUNDAY) {
                c.add(Calendar.DATE, 1);
            } else {
                c.add(Calendar.DATE, 7-(day-Calendar.SUNDAY)+1);
            }
            for (int i=1; i<=52; i++) {
                System.out.printf("%d%03d, %tF, ", c.get(Calendar.YEAR), i, c.getTime());
                c.add(Calendar.DATE, 6);
                System.out.printf("%tF\n", c.getTime());
                c.add(Calendar.DATE, 1);
            }
        }
    }
      

  6.   


                    Calendar curCalendar = Calendar.getInstance();
    int dayOfYear = curCalendar.get(Calendar.DAY_OF_YEAR);
    int lastWeekOfYear = dayOfYear/7;
         lastWeekOfYear就是你要的
      

  7.   

    嘎嘎,大家对API都很熟啊,日期这个Calendar还没用过。