我有两个日期字符串,“2011-04-29”和“2011-01-28”,我想用Joda Time比较它们。有没有办法做到这一点 ?。一个例子将非常感激。
由于
答案 0 :(得分:7)
首先你需要解析它们。使用DateTimeFormat
:
DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd");
DateTime dateTime1 = fmt.parseDateTime(string1);
然后使用DateTime.isBefore(..)
进行比较:
if (dateTime1.isBefore(dateTime2))
答案 1 :(得分:3)
也可以使用ltn4java库如下:
DataCompare dc = new DataCompare();
int Resultado;
Resultado = dc.compareWithTwoDatesString("2011-04-29","2011-01-28","yyyy-MM-dd");
答案 2 :(得分:2)
如果您的日期字符串格式为“yyyy-MM-dd”,则可以应用简单的字符串比较:
String s1 = new String("2012-01-27");
String s2 = new String("2011-01-28");
System.out.println(s1.compareTo(s2));
如果s1按字典顺序“大于”s2,则结果为TRUE,这就是您所需要的。要获得更多信息,请阅读compareTo()方法的javadoc。
答案 3 :(得分:0)
将字符串转换为日期对象并进行比较。
答案 4 :(得分:0)
除了@ Bozho的回答,我们也可以使用 AbstractInterval.isAfter :
if (dateTime2.isAfter(dateTime1))