2013-08-16 41 views
0

如何在Java中比較兩個不同的時間值,並將其保存爲字符串值?如何比較Java中不同的TimeValue?

我有這兩個值:

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

現在,重要的是我的應用程序來評估,這兩個值是比另一個高。此代碼是不可能的,我只有這兩個時間值保存爲字符串的可能性:

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

回答

4

您可以分析與SimpleDateFormat的字符串和比較的時間,但對於HH:mm格式(或任何下降,固定長度的日期/時間格式),您可以比較字符串。

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

如果什麼開始時間是11:55,結束時間是00:55;這將返回什麼? – Abhishek

+0

@Ahhishek 00:55是在11:55之前,即24:55之前,即使你解析時間。 –

+0

沒有時間24:55:P – Abhishek

1

可以使用喬達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));