编程语言
首页 > 编程语言> > java-以毫秒为单位从JodaTime获取ISO8601

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);

标签:timezone,jodatime,iso8601,java,date
来源: https://codeday.me/bug/20191031/1971981.html