我只想知道是否可以使用此示例代码计算两个日期之间的差异,但是当日期格式为 yyyy-MM-dd hh:mm:ss 如果日期格式为 yyyy-MM-dd'T' HH:mm:ss.SSSZ,一切正常。
int days = Days.daysBetween(new DateTime(today), new DateTime(StartTime1)).getDays();
它适用于“ ”,因为ISODateTimeFormatyyyy-MM-dd'T'HH:mm:ss.SSSZ
支持该格式- 它处理传递给构造函数的任何参数。String
DateTime(Object)
你应该建立一个适合DateTimeFormatter
" yyyy-MM-dd hh:mm:ss
" 并使用它,例如像这样:
DateTimeFormatterBuilder b = new DateTimeFormatterBuilder();
b.append(ISODateTimeFormat.yearMonthDay());
b.appendLiteral(" ");
b.append(ISODateTimeFormat.hourMinuteSecond());
DateTimeFormatter fmt = b.toFormatter();
// fmt can now be used to parse "yyyy-MM-dd hh:mm:ss" patterns, like so:
System.out.println(fmt.parseDateTime("2010-04-20 20:13:59"));
编辑:要从“ yyyy-MM-dd hh:mm:ss
”转换为“”,yyyy-MM-dd'T'HH:mm:ss.SSSZ
您可以这样做:
String dateTime = ISODateTimeFormat.dateTime()
.print(fmt.parseDateTime("2010-04-20 20:13:59"));
不确定与拥有一个有效DateTime
的(输出fmt.parseDateTime("2010-04-20 20:13:59")
将是什么)相比,这对您有什么好处。