Android使用Joda time计算日期之间的差异
我只是想知道是否可以使用这个示例代码计算两个日期之间的差异,但是当日期格式为yyyy-MM-dd hh:MM:ss时 如果日期格式为yyyy-MM-dd'T'HH:MM:ss.SSSZ,则一切正常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(对象)构造函
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”格式?我认为对我来说,这将是最好的选择。我必须在不同的时区工作。