一尘不染

比较Java中的日期字符串

java

所以我正在使用dateString1.compareTo(dateString2)它根据每个字符的Unicode值与字符串进行字典顺序比较,并返回一个整数。这是一个代码示例。

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我的实际代码中实际上有日期字符串作为格式。(在上面的示例中,我输入了错误的格式。)因此,现在,我将仅保留代码,并添加几行注释以证明我的决定合理。

但是我现在看到比较这样的字符串非常有局限性,如果dba决定沿途更改日期格式,我会遇到错误,但我看不到这种情况。


阅读 339

收藏
2020-09-08

共1个答案