我只想知道是否可以使用此示例代码计算两个日期之间的差异,但是当日期格式为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();
答案 0 :(得分:0)
它与“yyyy-MM-dd'T'HH:mm:ss.SSSZ
”一起使用,因为ISODateTimeFormat支持该格式 - 它处理传递给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")
的输出将会是什么)相比,不确定你会有什么好处。