0

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

我有这两个值:

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

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

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

2 回答 2

3

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

// assuming strings have the same padded format.
if(startTime.compareTo(endTime) > 0) // startTime is greater
于 2013-08-16T08:00:01.840 回答
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));
于 2013-08-16T08:02:29.420 回答