使用以下格式比较2个日期yyyy:MM:dd hh:mm:ss

时间:2011-01-03 04:53:17

标签: java date

我需要比较两个日期和时间部分。

我需要检查一下......:mm:仅限ss。

任何人都可以建议我可以使用的任何工具或任何以编程方式进行的建议。

谢谢,

纳伦德拉

3 个答案:

答案 0 :(得分:1)

要比较日期部分,最简单的事情是

 int cmp = date1.substring(0, 10).compareTo(date2.substring(0,10));

您不需要将它们转换为真正的日期对象,因为字符串的顺序相同。这就像@ rodion的回答,除了他将比较时间。

如果性能对您很重要,我建议您将字符串保留为字符串,将它们转换为日期对象相对较贵。

答案 1 :(得分:0)

您可以使用java.text.SimpleDateFormat将日期解析为Date个对象,然后使用getTime进行比较。 Date也会实现Comparable,因此您可以根据需要直接使用它。

答案 2 :(得分:0)

您可以使用字符串比较,例如:"2010:01:01 00:00:01".compareTo("2010:01:01 00:00:02")。当第一个日期分别在第二个日期之前,相同或之后

时,这将返回-1,0或1

如果您有DateCalendar对象,则可以使用Calendar.before(date)Calendar.after(date)方法比较日期,但这会考虑毫秒,因此您必须小心在比较之前将毫秒重置为0.

如果表现对您来说不那么重要,我建议上面的字符串比较。