0

我有 2 个具有两种不同格式的字符串,例如第一种格式:“08:50 09:50”第二种格式:“10:30”

我如何解析并减去第一个为 01:00 并在解析后将其添加到第二个以获得总计 = 11:30

4

3 回答 3

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) 
于 2012-08-03T11:59:52.633 回答
0

假设这是分钟:秒(如果是小时:分钟会相应地更改),您可以使用日历来这样做:

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);

这为您提供了第 2 次和第 1 次之间的差异。现在使用相同的拆分和日历机制进行第三次解析并进行加法。

于 2012-08-03T12:00:18.583 回答
0

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

于 2012-08-03T11:47:34.890 回答