例如
   2005/12/20這樣的字符串我現在想把它轉換為一個Date型,以取得這個日期所在的星期幾,請那位大哥幫我提供下轉換方法?

解决方案 »

  1.   

    String s=new String("2005/12/20");
       String[] st=s.split("/");
       int year=Integer.parseInt(st[0]);
       int month=Integer.parseInt(st[1]);
       int day=Integer.parseInt(st[2]);
       GregorianCalendar d=new GregorianCalendar(year,month,day);
       Date dd=d.getTime();
      

  2.   

    晕,错了
    GregorianCalendar d=new GregorianCalendar(year,month-1,day);
      

  3.   

    SimpleDateFormat sdf = new SimpleDataFormat("yyyy/MM/dd");//java.text.SimpleDateFormat
    Date d = null;
    try
    {
        d =sdf.parse("2005/12/20");
    }
    然后用d的getXX()方法就行了。
      

  4.   

    用SimpleDateFormat最简单也最直接,代码可读性也强。
      

  5.   

    conquer2004正解 
    提供几个转化的方法:
    /**
       * 取得当前时间 年月日星期
       * @return String
       */
      static public String getNowTime(){
        // 取得当前系统时间
        java.util.Date dTimeNow = new java.util.Date();
        int iYear=dTimeNow.getYear()+1900;
        int iMonth=dTimeNow.getMonth()+1;
        int iDate=dTimeNow.getDate();
        String iTime=iYear+"年"+iMonth+"月"+iDate+"日 ";
        // 取得当前星期
        int iDayOfWeek = dTimeNow.getDay();
        switch (iDayOfWeek) {
          case 1:
            iTime+= "星期一";
            break;
          case 2:
            iTime+=  "星期二";
            break;
          case 3:
            iTime+=  "星期三";
            break;
          case 4:
            iTime+=  "星期四";
            break;
          case 5:
            iTime+=  "星期五";
            break;
          case 6:
            iTime+=  "星期六";
            break;
          case 7:
            iTime+=  "星期日";
            break;
          default:    }
        return iTime;
      }
      static public String getChineseTime(){
        // 取得当前系统时间
        java.util.Date dTimeNow = new java.util.Date();
        int iYear=dTimeNow.getYear()+1900;
        int iMonth=dTimeNow.getMonth()+1;
        int iDate=dTimeNow.getDate();
        String sTime=iYear+"年"+iMonth+"月"+iDate+"日 ";
        return sTime;
      }
      static public String getStringNowTime(){
        java.util.Date dTimeNow = new java.util.Date();
        dTimeNow.getTime();
        java.sql.Timestamp sStamp = new java.sql.Timestamp(dTimeNow.getTime());
        java.sql.Date sDate = new java.sql.Date(sStamp.getTime());
        return sDate.toString();
      }
      static public java.util.Date getUtilTime(){
        java.util.Date dTimeNow = new java.util.Date();
        dTimeNow.getTime();
        return dTimeNow;
      }
      static public java.sql.Date getSqlDate(){
        java.util.Date dTimeNow = new java.util.Date();
        dTimeNow.getTime();    java.sql.Timestamp sStamp = new java.sql.Timestamp(dTimeNow.getTime());
        java.sql.Date sDate = new java.sql.Date(sStamp.getTime());
        System.out.println("util时间"+dTimeNow);
        System.out.println("sql时间"+sDate);
        System.out.println("stamp时间"+sStamp);
        return sDate;
      }
      static public String convertDisplay(String sDate){
        try{
          String sDisplayDate = null;
          String sYear = sDate.substring(0, 4);
          String sMonth = sDate.substring(5, 7);
          if (sMonth.substring(0, 1).equals("0")) {
            sMonth = sMonth.substring(1);
          }
          sDisplayDate = sYear.concat("年");
          sDisplayDate = sDisplayDate.concat(sMonth);
          sDisplayDate = sDisplayDate.concat("月");
          return sDisplayDate;
        }catch(Exception e){
          return sDate;
        }
      }
      static public java.util.Date convertStringToUtilDate(String sDate){
        try{
          System.out.println(sDate);
          SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
          Date date = formatter.parse(sDate);
          System.out.println(date+ "...................................................");
          return date;
        }catch(Exception e){
          System.out.println( "convert exception !");
          return null;
        }
      }
      static public java.sql.Date convertStringToSqlDate(String strDate){
        try{
          SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
          java.util.Date date = formatter.parse(strDate);
          java.sql.Date sDate = new java.sql.Date(date.getTime());
          return sDate;
        }catch(Exception e){
          System.out.println( "convert exception !");
          return null;
        }
      }  static public String convertSqlDateToString(java.sql.Date Date){
        try{
          SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
          String dateString = formatter.format(Date);
          return dateString;
        }catch(Exception e){
          return "";
        }
      }
      static public String convertUtilDateToString(java.util.Date Date){
        try{
          SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
          String dateString = formatter.format(Date);
          System.out.println(dateString);
          return dateString;
        }
        catch(Exception e){
          return "";
        }
      }
      

  6.   

    一下三句,把一个字符串转成Date:String myString = "2005/12/20";
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd", Locale.CHINA);
    Date d = sdf.parse(myString);
      

  7.   

    String myString = "2005/12/20";
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd", Locale.CHINA);
    Date d = sdf.parse(myString);
    Calendar c = Calendar.getInstance();   
    c.set(Calendar.YEAR,  d.getYear());
    c.set(Calendar.MONTH, d.getMonth());
    c.set(Calendar.DATE,  d.getDate());星期几 int indexOfWeek = c.get( Calendar.DAY_OF_WEEK ) ;