如何比较Java中的不同TimeValue?

时间:2013-08-16 07:58:37

标签: java

如何比较java中的两个不同的时间值,它被保存为字符串值?

我有这两个值:

String startTime = "11:23";
String endTime = "22:22";

现在,我的应用程序评估这两个值中哪一个高于另一个值是很重要的。这段代码是不可能的,我只能将这两个时间值保存为字符串:

if(startTime > endTime){
       // do some stuff
} else {
       // do other stuff
}

2 个答案:

答案 0 :(得分:3)

您可以使用SimpleDateFormat解析字符串并比较时间,但对于HH:mm格式(或任何降序,固定长度的日期/时间格式),您只需比较字符串。

// assuming strings have the same padded format.
if(startTime.compareTo(endTime) > 0) // startTime is greater

答案 1 :(得分:1)

您可以使用Joda LocalTime

private LocalTime toTime(String time) {
    String[] t = time.split(":");
    return new LocalTime(t[0], t[1]);
}

int compared = toTime(startTime).compareTo(toTime(endTime));

boolean b = toTime(startTime).isBefore(toTime(endTime));

boolean b = toTime(startTime).isAfter(toTime(endTime));