java-以毫秒为单位从JodaTime获取ISO8601

我想将日期“ 2013-03-04T23:00:00”转换为“ yyyy-MM-dd’T’HH:mm:ss.SSSZ”,但我不断收到“ 2013-03-04’T’23: 00:00.000 0000”.有什么帮助吗?

顺便说一下,item.getEnd()是XMLGregorianCalendar.

Calendar calendar  = item.getEnd().toGregorianCalendar();
calendar.setTimeZone(TimeZone.getTimeZone("UTC"));

Date date = calendar.getTime();
DateTime iso8601 = new DateTime(calendar);

iso8601.toString("yyyy-MM-dd'T'HH:mm:ss.SSSZ");

解决方法:

您应该只能够使用JodaTime内置的ISODateTimeFormat类. the documentation中的示例是:

DateTime dt = new DateTime();
DateTimeFormatter fmt = ISODateTimeFormat.dateTime();
String str = fmt.print(dt);
上一篇:PHP-使用ISO 8601显示实际时间


下一篇:java中输出时间,控制时间格式,无废话,直接上代码