如何比较java中的两个不同的时间值,它被保存为字符串值?
我有这两个值:
String startTime = "11:23";
String endTime = "22:22";
现在,我的应用程序评估这两个值中哪一个高于另一个值是很重要的。这段代码是不可能的,我只能将这两个时间值保存为字符串:
if(startTime > endTime){
// do some stuff
} else {
// do other stuff
}
答案 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));