我获取的日期是一个字符串类型的格式,比如:Thu, 1 Dec 2011 07:41:48 GMT
我想转化为:2011-12-01 15:41:48    这种形式。先谢过。我用Date过时了。

解决方案 »

  1.   

    import java.util.*;
    import java.text.*;
    public class Test{
    public static void main(String args[])
    {
         Date date=new Date();
         SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
         System.out.println(df.format(date));
    }
    }
    刚试过  这个百度搜一下楼主就能找到各种方法了http://www.examda.com/Java/zhuanye/20100913/114439134.html
      

  2.   


    .......................
    我是要把这种类型的字符串:Thu, 1 Dec 2011 07:41:48 GMT
    转化为这种字符串:2011-12-01 15:41:48
    这下应该够清楚了。
      

  3.   


    String d = "Thu, 1 Dec 2011 07:41:48 GMT";
    SimpleDateFormat sf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    SimpleDateFormat sf2 = new SimpleDateFormat("E,dd MMM yyyy HH:mm:ss",Locale.US); 
    Date dd = sf2.parse(d);
    System.out.println(sf1.format(dd)); 
      

  4.   


    package study;import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Locale;class DateFormat {
    private String str;
    private String pat1;
    private String pat2;
    public DateFormat(String str){
    this.str = str;
    this.pat1 = "yyyy-MM-dd HH:mm:ss";
    this.pat2 = "EEE, d MMM yyyy HH:mm:ss Z";
    }
    public String getDate(){
    SimpleDateFormat sdf = new SimpleDateFormat(this.pat1);
    SimpleDateFormat sdf2 = new SimpleDateFormat(this.pat2,new Locale("en","us"));
    Date d = null;
    try {
    d=sdf2.parse(this.str);
    } catch (ParseException e) {
    e.printStackTrace();
    }
    return sdf.format(d);
    }
    };public class TestDemo{
    public static void main(String args[]){
    DateFormat df = new DateFormat("Thu, 1 Dec 2011 07:41:48 GMT");
    System.out.println(df.getDate());
    }
    }输出结果:2011-12-01 15:41:48