2012-06-17 231 views

回答

1

隨着標準的JDK,你可以使用SimpleDateFormat

Date parsedDateInstance = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").parse(dateString); 

String formattedDate = new SimpleDateFormat("MM/dd/yyyy").format(dateInstance); 
+0

我收到一個錯誤:無法在第一行中將日期轉換爲字符串。並在第二行我得到:不能從SimpleDateFormat轉換爲字符串。 –

+0

第一行應該有Date parsedDateInstance,而不是String: –

+0

@krzyk Ofcourse yes。這是錯字:) –

2

這是ISO8601日期格式,所以你可以去jodas:

DateTimeFormatter fmt = ISODateTimeFormat.dateTime(); 
DateTime dt = fmt.parseDateTime(strInputDateTime); 

而在此之後只是格式化DateTime對象:

DateTimeFormatter fmt2 = DateTimeFormat.forPattern("MM/dd/yyyy"); 
String myDate = fmt2.print(dt) 

這個信息是從http://joda-time.sourceforge.net/userguide.html#Standard_Formatters

+0

我在DateTime dt = fmt.parseDateTime()中得到這個錯誤。無效的格式:「2012-05-22T00:00:00」太短 –

+0

對不起,我沒有注意到你沒有附加「Z」(時區),所以這不適用於純粹的無時區日期時間。 –