所以我正在使用dateString1.compareTo(dateString2)它根据每个字符的Unicode值与字符串进行字典顺序比较,并返回一个整数。这是一个代码示例。
dateString1.compareTo(dateString2)
String dateString1 = "05-12-2012"; String dateString2 = "05-13-2012"; if (dateString1.compareTo(dateString2) <=0){ System.out.println("dateString1 is an earlier date than dateString2"); }
在Java中比较日期是否错误?
在测试中,我没有遇到意外结果的情况。如果不是必须的话,我真的不想在字符串中创建Date对象,因为我是在一个长时间运行的循环中执行此操作的。
*根据下面的答案, *Ninja Edit Gleaning可以将日期与字符串进行比较,如果yyyyMMdd格式正确,则没有任何问题,但是如果格式为其他格式,则显然会导致错误。
yyyyMMdd
yyyyMMdd我的实际代码中实际上有日期字符串作为格式。(在上面的示例中,我输入了错误的格式。)因此,现在,我将仅保留代码,并添加几行注释以证明我的决定合理。
但是我现在看到比较这样的字符串非常有局限性,如果dba决定沿途更改日期格式,我会遇到错误,但我看不到这种情况。
我建议您做正确的事([如此处所述](http://codingdict.com/questions/1667)并转换为适当的Date对象进行比较。担心性能影响是否以及何时会真正影响您的应用程序(可能不会)。
Date