TimeZone zone=TimeZone.getTimeZone("Asia/Shanghai");
Calendar cal = Calendar.getInstance(zone);
int c = cal.get(cal.WEEK_OF_YEAR);
System.out.println(c);
现在应该是第24周,为什么输出25?

解决方案 »

  1.   


    private static int GetWeekOfYear(DateTime dt)
    {
        CultureInfo myCI = new CultureInfo("zh-CN");
        System.Globalization.Calendar myCal = myCI.Calendar;
        CalendarWeekRule myCWR = myCI.DateTimeFormat.CalendarWeekRule;
        DayOfWeek myFirstDOW = myCI.DateTimeFormat.FirstDayOfWeek;
        return myCal.GetWeekOfYear(dt, myCWR, myFirstDOW);
    }
    private static int GetWeekOfYear(string str)
    {
            DateTime time = new DateTime();
            time = DateTime.Parse(str);
            GregorianCalendar gc = new GregorianCalendar();
            int weekOfYear = gc.GetWeekOfYear(time,CalendarWeekRule.FirstDay, DayOfWeek.Sunday);
    }
      

  2.   

    好像在日期方面都要减一吧Calendar calendar = Calendar.getInstance(); 
    int weekOfYear=calender.get(Calendar.WEEK_OF_YEAR); 
      

  3.   


    Month需要加一,其他不需要操作
    25周是正确的,楼主提了一个错误的问题
      

  4.   


    为什么我在ubuntu下显示的第24周 
    还有对于mysql数据库 我select week(now());显示的也是24?
      

  5.   


    24是从零开始。
    Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("Asia/Chongqing"));
    calendar.set(2010,0,1);
    System.out.println(calendar.get(Calendar.WEEK_OF_YEAR)); // 1
      

  6.   

    赞成楼上说法
    http://topic.csdn.net/u/20100611/10/156d72cf-516c-42d0-9565-f403ce785383.html
      

  7.   


    System.out.println(Calendar.getInstance().get(Calendar.WEEK_OF_YEAR));25..
    为什么?
    25对还是24对?
      

  8.   


    SimpleDateFormat sdfyyyyMMdd = new SimpleDateFormat("yyyy-MM-dd");
    Date date = sdfyyyyMMdd.parse("2010-01-01");
    Calendar c1 = Calendar.getInstance();
    c1.setTimeInMillis(date.getTime());
    System.out.println(date.getTime() == c1.getTimeInMillis());
    System.out.println(c1.get(Calendar.WEEK_OF_YEAR));25应该不会错,吓一跳以为出问题了,今天还用Calendar 
      

  9.   

    Calendar calendar = Calendar.getInstance(); 
    int weekOfYear=calender.get(Calendar.WEEK_OF_YEAR);