使用joda时间库比较日期字符串

时间:2011-04-29 11:37:06

标签: java jodatime

我有两个日期字符串,“2011-04-29”和“2011-01-28”,我想用Joda Time比较它们。有没有办法做到这一点 ?。一个例子将非常感激。

由于

5 个答案:

答案 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");

图书馆的下载页面为http://code.google.com/p/ltn4java/downloads/list

答案 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))