2011-04-29 18 views
7

我有两个日期字符串说,“2011-04-29”和“2011-01-28”,我想比较他们使用乔达时间。有没有办法做到这一点 ?。一个例子将非常感激。使用约达时间库比较日期字符串

谢谢

+0

你是什么意思,“比较它们”? – skaffman 2011-04-29 11:38:28

+0

我的意思是确定哪个先到先 – Jim 2011-04-29 11:38:48

+2

该格式的日期已经与字符串相当,您不需要Jodatime。 – skaffman 2011-04-29 11:52:35

回答

0

将字符串转换为日期对象并进行比较。

7

首先你需要解析它们。使用DateTimeFormat

DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd"); 
DateTime dateTime1 = fmt.parseDateTime(string1); 

然后使用DateTime.isBefore(..)对它们进行比较:

if (dateTime1.isBefore(dateTime2)) 
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,这就是您所需要的。要获取更多信息,请阅读javadoc for compareTo()方法。

+0

你为什么要创建一个新的字符串? – Bozho 2011-04-29 13:57:53

+0

只是为了研究案例 – 2011-04-29 14:06:54