从json日期字符串中提取日期到字符串

问题描述:

Android编程。 我有一个json从数据库返回日期作为字符串。如何从字符串中使用Joda或任何其他库将日期提取为此格式mm/dd/yy。 这里是字符串2012-05-22T00:00:00从json日期字符串中提取日期到字符串

随着标准的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。这是错字:) –

这是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”(时区),所以这不适用于纯粹的无时区日期时间。 –