SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd"); // 规定日期格式
String now = formatter.format(Date.parse("Mon Jan 20 00:00:00 CST 1986"));System.out.println(now);
这种方法格式化日期现在不推荐使用,请问有没有更好的解决方法(不通过获取日期字符串判断年月日的方法)!

解决方案 »

  1.   

    你的yyyyMMdd匹配不了你的输入   如果你输入的字符串是19981020就可以了
      

  2.   

    Date date = new Date();
    SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println(dateformat.format(date));一直这么格式化时间来着。没有不推荐啊。你是想说(Date.parse("Mon Jan 20 00:00:00 CST 1986"))这句么?
      

  3.   

    楼主说的是格式化一个字符串的日期,楼上说的是要格式化一个Date类型的日期,不一样的.
    Date.parse("Mon Jan 20 00:00:00 CST 1986")
    不知道还有什么方法,学习!
      

  4.   

    是(Date.parse("Mon Jan 20 00:00:00 CST 1986")就是想把它转化成19860120,oracle中能转换的字符串
    在eclipse运行的时候parse被划上了横线
      

  5.   

    过期了应该有其他的新方法被  查查javadoc啊 
      

  6.   

    DateFormat dateformat = DateFormat.getDateInstance();
    Date date = dateformat.parse("Mon Jan 20 00:00:00 CST 1986");

    SimpleDateFormat simpledateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println(simpledateformat.format(date));你是想说字符串转日期么?如上
      

  7.   

    这是我查的doc;里写的parse(String s)已过时。 从 JDK 1.1 开始,由 DateFormat.parse(String s) 取代。
      

  8.   

    我查的doc里面推荐的新方法
    parse(String s)已过时。 从 JDK 1.1 开始,由 DateFormat.parse(String s) 取代。
      

  9.   

    忘了说了。会抛异常来着。自己try~下吧
      

  10.   


    java.text.ParseException: Unparseable date: "Mon Jan 20 00:00:00 CST 1986"确实包异常了
      

  11.   


    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd"); // 规定日期格式 
    Date date = formatter.parse("Mon Jan 20 00:00:00 CST 1986"); //直接转换
    String now = formatter.format(date); 
    大概就是这样,你可以查看一下JDK文档
    SimpleDateFormat继承于java.text.DateFormat的parse方法,具体忘了
      

  12.   


    呵呵。无法转换的日期嘛。自己在catch里处理咯。不可能啥字符串也可以用DateFormat做parse
    好了。该结贴了
      

  13.   

    ("Mon Jan 20 00:00:00 CST 1986") 是一个Date变量通过toString()获得的
      

  14.   


    不用toString(),可以直接将Date格式化呀,Date变量是指一个Date类型的对象吧,
    那二楼说的就是这个意思!
      

  15.   

    使用SimpleDateFormat.parse()方法,但要注意输入字符串要与你定义的格匹配,如:"yyyyMMdd"就要输入"20081119"格式;