0

2 つの異なる形式の 2 つの文字列があります。たとえば、最初の形式: "08:50 09:50" 2 番目の形式: "10:30"

最初の値を解析して 01:00 に減算し、解析後に 2 番目の値に追加して合計 = 11:30 を取得するにはどうすればよいですか

4

3 に答える 3

0

フォーマットは基本的に同じHH:mmで、SimpleDateFormatを使用して解析およびフォーマットできます。文字列を分割するには、次を使用できます.split(" ")

于 2012-08-03T11:47:34.890 に答える
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 回目の違いがわかります。次に、同じ分割とカレンダーのメカニズムを使用して、3 回目の解析と追加を行います。

于 2012-08-03T12:00:18.583 に答える