DataFormat f=DataFormat.getDateInstance();
Data d=f.parse("Fri, 13 Dec 2002 10:43:03 +0800");

解决方案 »

  1.   

    java.text.SimpleDateFormat
    SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
    String dateStr = "Fri, 13 Dec 2002 10:43:03 +0800";
    try
    {
        Date date = sdf.parse(dateStr);
    }
    catch(Exception e)
    {}
      

  2.   

    好像都不行,都不能转换总是出现下面的错误。
    date time format error java.text.ParseException: Unparseable date: "Fri, 13 Dec 2002 10:43:03 +0800"
    java.lang.NullPointerException
            at org.data.conv.DataConv.getDate(DataConv.java:71)
            at org.data.conv.DataConv.main(DataConv.java:77)
    Exception in thread "main"         try
            {
                SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z");
                String dateStr = "Fri, 13 Dec 2002 10:43:03 +0800";
                Date date1 = sdf.parse(dateStr);
                System.out.println( "Date Time " + date1.toLocaleString() );
                
            }
            catch( Exception e )
            {
                System.out.println( "date time format error " + e );
            }
      

  3.   

    我也是过了,无论是什么样的字符串,哪怕你将日期转换成的字符串也不可以,不知道java的这个parse到底在什么情况下能够使用。
      

  4.   

    pattern中的z用的不对,api中的说明是:
    “z        time zone               (Text)              Pacific Standard Time”,也就是说z对应的事text文本,我不太清楚时区的文本表示应该是怎样的,但从api的例子来看不可能是数字形式的,所以“+0800”用“z”来转换是错误的。SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss '+0800'");
    //用这个试一下
      

  5.   

    自己写个转换函数好了用StringTocknizer从日期字符串提取出年月日信息
    然后设置到Data对象中至于如何提取去看看API
    绝对可以写出转换你想要的格式的日期信息的函数
      

  6.   

    我也是这么想的,但BOSS不让我这么做。 说我写的不是很好。
    还是别人写的好用,唉!
    帮忙看看吧。
      

  7.   

    SimpleDateFormat sdf = new SimpleDateFormat("dd yyyy HH:mm:ss z");            
    String dateStr = "11 2002 10:43:03 +0800 (CST)";
    Date date1 = sdf.parse(dateStr);
    System.out.println( "Date Time " + date1.toLocaleString() );
    上面的格式可以转换,但是多了一个MMM或是EEE
    SimpleDateFormat("dd MMM yyyy HH:mm:ss z");
    date1就成空了。