我使用Joda获得DTO:
dateTimeObj = new DateTime();
我想将此DTO转换为ISO格式的格式化字符串:
2016-03-06T11:30:00-05:00
我尝试使用:
dateTimeObj = new DateTime().toDateTimeISO();
但没有运气。
我怎么能以正确的方式做到这一点?
答案 0 :(得分:1)
toDateTimeISO()
,请使用toDateTime()
http://joda-time.sourceforge.net/apidocs/org/joda/time/Instant.html
此外:
DateTime dt = new DateTime();
DateTimeFormatter fmt = DateTimeFormat.forPattern("MMMM, yyyy");
String str = fmt.print(dt);
请参阅此处的模式语法: http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html
答案 1 :(得分:0)
首先,您需要使用LocalDateTime而不是DateTime来访问您格式的时区。
使用DateTimeFormatter,其格式如图表here中所定义。
您想要的格式为" YYYY-MM-DDTHH:mm:ss-ZZZZ"。
答案 2 :(得分:0)
您可以使用IsoDateTimeFormat.dateTimeNoMillis()获取没有毫秒部分的格式:
DateTime dt = new DateTime();
DateTimeFormatter fmt = ISODateTimeFormat.dateTimeNoMillis();
String str = fmt.print(dt);