当前位置: 首页 > 面试题库 >

比较Java中的日期字符串

经炜
2023-03-14
问题内容

所以我正在使用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决定沿途更改日期格式,我会遇到错误,但我看不到这种情况。


问题答案:

我建议您做正确的事([如此处所述](http://codingdict.com/questions/1667)并转换为适当的Date对象进行比较。担心性能影响是否以及何时会真正影响您的应用程序(可能不会)。



 类似资料:
  • 我会如何比较以下两个日期?

  • 问题内容: 给我输出: 我不太了解第一行,为什么它会给我带来错误? 如果我在字符串2上添加空格,则此行为false,但如果不添加空格,则为true: 为什么第1行给我假,但第6行为真,但是如果我在string2上添加空格则为假。 谢谢=) 问题答案: 那里发生了几件事。 当您将两个字符串声明为相等的“ Hi”时,java将对其进行优化以引用相同的字符串对象(因此不必将相同的字符串存储两次)。 “

  • 问题内容: “按字典顺序比较两个字符串”是什么意思? 问题答案: 从@Bozho和@aioobe的答案出发,字典比较类似于在字典中可能会发现的顺序。 Java String类提供了该方法以便按字典顺序比较String。这样使用。 此方法的返回int值可以解释如下: 返回<0,则调用该方法的String按字典顺序排在首位(在字典中排在首位) 返回== 0,则这两个字符串在字典上等效 返回> 0,然后

  • 问题内容: 我需要在Java中比较两个日期。我正在使用这样的代码: 这是行不通的。变量的内容如下: 包含 包含 我该如何解决? 问题答案: 日期相等性取决于两个等于毫秒的日期。使用创建新的Date对象将永远不会等于过去创建的日期。Joda Time 的API简化了日期的处理。但是,仅使用Java的SDK:

  • 代码: 输出:(增加空白行以提高可读性) 有两件事我不明白: null 我还查看了date.equals()的实现: 那么,为什么返回false,尽管为两个对象都返回了1406498400000? 参考:http://docs.oracle.com/javase/7/docs/api/java/util/date.html#equals(java.lang.object)

  • 问题内容: 我想比较数据库中2个给定日期之间的日期。数据库中的列是DATETIME,我只想将其与日期格式进行比较,而不要与datetime格式进行比较。 执行上面的SQL时出现此错误: 您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在’us_reg_date,120)> =‘2000-07-05’AND CONVERT(CHAR(10),us_reg_date,120)<=‘2