Android使用Joda time计算日期之间的差异

Android使用Joda time计算日期之间的差异,android,datetime,jodatime,Android,Datetime,Jodatime,我只是想知道是否可以使用这个示例代码计算两个日期之间的差异,但是当日期格式为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(); 它与“yyyy-MM-dd'HH:MM:ss.SSSZ”一起工作,因为-中支持该格式,它处理传递到DateTime(对象)构造函

我只是想知道是否可以使用这个示例代码计算两个日期之间的差异,但是当日期格式为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();
它与“
yyyy-MM-dd'HH:MM:ss.SSSZ
”一起工作,因为-中支持该格式,它处理传递到
DateTime(对象)
构造函数中的任何
字符串
参数

您应该为“
yyyy-MM-dd hh:MM:ss
”构建合适的
DateTimeFormatter
,并使用它,例如:

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
”转换为“
yyy-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”)
的输出)相比,这对您有什么好处。

谢谢您的回复Jens。如果我想把“yyyy-MM-dd hh:MM:ss”格式转换成“yyy-MM-dd'T'hh:MM:ss.SSSZ”格式?我认为对我来说,这将是最好的选择。我必须在不同的时区工作。