2012-02-10 79 views
-1

我有這樣的值,的java:不可解析日期異常

2011-11-19T00:00:00.000-03:00

其需要被轉換,並將其設置在該格式

年月日

我試過這樣

import java.text.DateFormat; 
import java.text.ParseException; 
import java.text.SimpleDateFormat; 
import java.util.Date; 
import java.util.Locale; 

public class ParsedDate { 

    public static void main(String args[]) throws ParseException { 
     DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", 
       Locale.US); 
     String s1 = "2011-11-19T00:00:00.000-03:00"; 
     Date d = sdf.parse(s1); 
     String s2 = (new SimpleDateFormat("yyyyMMdd")).format(d); 
     System.out.println(s2); 

    } 
} 

但它給我的線索

異常 「主要」 java.text.ParseException:無法解析的日期: 「2011-11-19T00:00:00.000-03:00」

有人能幫我嗎?

+5

可能重複http://stackoverflow.com/questions/7681782/simpledateformat-unparseable日期 - 例外) - 花了大約30秒時間點擊右側的鏈接以查找與您的模式完全匹配的鏈接。 – 2012-02-10 06:49:54

+0

+1有一個簡潔的編譯示例 – 2012-02-10 06:49:59

+0

@BrianRoach,當然是。 – 2012-02-10 06:50:49

回答

3

嘗試使用我已刪除這個

DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", 
        Locale.US); 
      String s1 = "2011-11-19T00:00:00.000-03:00"; 
      Date d; 
      try 
      { 
       d = sdf.parse(s1); 
       String s2 = (new SimpleDateFormat("yyyyMMdd")).format(d); 
       System.out.println(s2); 
      } 
      catch (ParseException e) 
      { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

通知Ž

[SimpleDateFormat的不可解析日期異常](的
+0

非常感謝Sandeep Nair。 – Kiran 2012-02-10 07:00:59

+0

@Kiran接受污染 – 2012-02-10 07:03:23