2012-08-03 49 views
0

我有2個字符串與兩個不同的格式 例如 首先格式:「08:50 09:50」 第二種格式:「10:30」如何解析2種不同格式的字符串的時間並添加它們?

我怎麼可以解析&減去第一是01:00,並將其添加到第二個分析之後得到總= 11:30

+0

的[如何將字符串轉換成時間格式,並添加兩個小時]可能重複(http://stackoverflow.com/questions/759036/how-to-convert-string-into-time-format-and-add-兩小時) – Patrick 2012-08-03 12:36:34

回答

0

的格式基本相同HH:mm您可使用的SimpleDateFormat分析和格式化。要分割字符串,可以使用.split(" ")

0

我覺得這樣的事情應該工作

String a = "08:50 09:50"; 
String b = "10:30"; 
String[] c = a.split(" ", 2); 

DateFormat sdf = new SimpleDateFormat("hh:mm"); 

Date t1 = sdf.parse(c[0]); 
Date t2 = sdf.parse(c[1]); 
Date t3 = sdf.parse(b); 

long t = (t2.getTime() - t1.getTime()) + t3.getTime(); 

Time time = new Time(t) 
+0

如果它是一組字符串包含此格式我需要計算列表中的所有獲得總以這種格式00:00 – 2012-08-03 12:41:26

0

假設這是分:秒(如果是小時:分鐘改變accordignly),你可以用日曆來做所以:

String[] tokens1 = "08:50 09:50".split(" "); 
String[] tokens2 = tokens[0].split(":"); 
int minutes1 = Integer.valueOf(tokens2[0]); 
int seconds1 = Integer.valueOf(tokens2[1]); 
tokens2 = tokenss[1].split(":"); 
int minutes2 = Integer.valueOf(tokens2[0]); 
int seconds2 = Integer.valueOf(tokens2[1]); 

Calendar cal = Calendar.getInstance(); 
cal.setTime(new Date(0l)); 
cal.add(minutes2, Calendar.MINUTE); 
cal.add(-minutes1, Calendar.MINUTE); 
cal.add(seconds2 , Calendar.SECOND); 
cal.add(-seconds1 , Calendar.SECOND); 

int minuteDifference = cal.get(Calendar.MINUTE); 
int secondDifference = cal.get(Calendar.SECOND); 

這給你第二次和第一次的區別。現在使用相同的拆分和日曆機制來解析第三次並進行添加。

+0

的混合體,如果它是一組字符串包含此格式的混合我需要計算所有在列表中獲得這種格式的總數00:00 – 2012-08-03 12:40:01

+0

對不起,但這不是很清楚... – kgautron 2012-08-03 12:43:19

相關問題