我有 2 个具有两种不同格式的字符串,例如第一种格式:“08:50 09:50”第二种格式:“10:30”
我如何解析并减去第一个为 01:00 并在解析后将其添加到第二个以获得总计 = 11:30
我有 2 个具有两种不同格式的字符串,例如第一种格式:“08:50 09:50”第二种格式:“10:30”
我如何解析并减去第一个为 01:00 并在解析后将其添加到第二个以获得总计 = 11:30
我认为这样的事情应该有效
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)
假设这是分钟:秒(如果是小时:分钟会相应地更改),您可以使用日历来这样做:
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 次之间的差异。现在使用相同的拆分和日历机制进行第三次解析并进行加法。
格式基本相同HH:mm
,您可以使用 SimpleDateFormat 解析和格式化。要拆分字符串,您可以使用.split(" ")