高手来帮帮忙!
比如给个日期 2000年2月1日 算出这天是星期几!
该怎么写!

解决方案 »

  1.   

    Calendar() 
              构造一个带有默认时区和语言环境的 Calendar。先 new 一个 这个..然后set(int year, int month, int date) 
              设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。最后get(int field) 
              返回给定日历字段的值。字段(field)写上DAY_OF_WEEK就行了. 
      

  2.   

    好困啊
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
            Date d=sdf.parse("2008年2月1日");
            Calendar calendar=Calendar.getInstance();
            calendar.setTime(d);
            System.out.println(sdf.format(calendar.getTime()));
            System.out.println(calendar.get(Calendar.DAY_OF_WEEK));星期日是1
    星期一是2
    星期六是7
      

  3.   

    不是有个叫 Zeller 的星期计算公式么?
      

  4.   

    用JAVA类库 就是1,2楼了
    要自己写 参考下蔡勒(Zeller)公式
    蔡勒(Zeller)公式:是一个计算星期的公式。
    随便给一个日期,就能用这个公式推算出是星期几。蔡勒公式如下:
    w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1公式中的符号含义如下:
    w:星期; w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六
    c:世纪(前两位数)
    y:年(后两位数)
    m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算)
    d:日
    [ ]代表取整,即只要整数部分。
    要证明这个等式建议百度一下
      

  5.   

     对了 一楼的方法有错误 首先  Calendar和TimeZone,Locale 要创建它们类的实例通常不是调用它们的构造方法,而是调用方法它们各自类中的 getInstance()以及getInstance(arguments)
    其次应该get(Calendar.DAY_OF_WEEK_IN_MONTH);  当然也可以 get(8);
    下面是是一些常量,具体查文档
     int PM 1 
     int SATURDAY 7 
     int SHORT 1 
     int SUNDAY 1 
     int THURSDAY 5 
     int TUESDAY 3 
     int UNDECIMBER 12 
     int WEDNESDAY 4 
     int WEEK_OF_MONTH 4 
     int WEEK_OF_YEAR 3 
     int YEAR 1 
     int DAY_OF_WEEK_IN_MONTH 8
     import java.util.Calendar;
     import java.util.Locale;
     import java.util.TimeZone;
     
     public class TestCalendar{
        public static void main(String []args){
        
            Locale locale_1=new Locale("CHINESE","CHINA");
         Locale locale_2=Locale.getDefault();     TimeZone timezone_1=TimeZone.getDefault();
         TimeZone timezone_2=TimeZone.getTimeZone("Asia/Shanghai");
        
         Calendar calendar_1=Calendar.getInstance(timezone_2,locale_2);
         Calendar calendar_2=Calendar.getInstance();
        
            calendar_1.set(2008,10,30);
            int weekDay=calendar_1.get(Calendar.DAY_OF_WEEK_IN_MONTH);
            System.out.println("weekDay="+weekDay);
            System.out.println();
            
            for(String str:TimeZone.getAvailableIDs()){
             System.out.println(str);
            }
        }
     }