"Tue Oct 18 04:11:56 CST 2005"这么样的一个字符串,怎么转换成java.util.Date类?
谢谢。

解决方案 »

  1.   

    谢谢两位,我看了,可是不知道怎么用。能不能给个demo.
      

  2.   

    java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    String str = formatter.format(date);
      

  3.   

    DateFormat df = DateFormat.getDateInstance();
    String myString = "Tue Oct 18 04:11:56 CST 2005";
    try {
    Date d = df.parse(myString);
    Calendar c = Calendar.getInstance();
    c.setTime(d);
    String s = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
    System.out.println(s);

    } catch (Exception e) {
    System.out.println("wrong");
    e.printStackTrace();
    }
      

  4.   

    crazycy,你提供的是把一个date类转换成一个String的代码吧?
    不是把一个"Tue Oct 18 04:11:56 CST 2005"这种格式的转换成Date的代码。
    还有,不要用 date = new Date(str)这个方法。
      

  5.   

    lcllcl987(毛爷爷),你的代码我打在下面的文件,执行出错。
    import java.text.DateFormat;
    import java.util.Date;
    import java.util.Calendar;
    import java.text.SimpleDateFormat;
    public class StringToDate {
    public void StringDate(){
    DateFormat df = DateFormat.getDateInstance();
    String myString = "Tue Oct 18 04:11:56 CST 2005";
    try {
    Date d = df.parse(myString);
    Calendar c = Calendar.getInstance();
    c.setTime(d);
    String s = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
    System.out.println(s);

    } catch (Exception e) {
    System.out.println("wrong");
    e.printStackTrace();
    }
    }
    public static void main(String[] args) {
    StringToDate std = new StringToDate();
    std.StringDate(); }}Console显示:
    wrong
    java.text.ParseException: Unparseable date: "Tue Oct 18 04:11:56 CST 2005"
    at java.text.DateFormat.parse(DateFormat.java:335)
    at StringToDate.StringDate(StringToDate.java:10)
    at StringToDate.main(StringToDate.java:23)
      

  6.   

    根据察看 “Tue Oct 18 04:11:56 CST 2005” 的组成,可以用一个符合它的格式的 DateFormat 来 parse 即可以得到 Date。于是如下:SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
    Date dt = sdf.parse("Tue Oct 18 04:11:56 GMT 2005");
      

  7.   

    刚才没调试,sorry,现在好了.楼上的说的对! String myString = "Tue Oct 18 04:11:56 CST 2005";
    try {
    SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
    Date d = sdf.parse(myString);
    Calendar c = Calendar.getInstance();
    c.setTime(d);
    String s = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
    System.out.println(s);

    } catch (Exception e) {
    e.printStackTrace();
    }
    }
      

  8.   

    lcllcl987(毛爷爷) ,sswater(水与争锋) 两位。
    格式如"Tue Oct 18 04:11:56 CST 2005"的String转换成Date,关键代码是
    SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
    Date d = sdf.parse(myString);