1

DateTime フィールドに HOURS:MINUTES:SECONDS 値を追加する方法は?

たとえば、dimetime 値を含むフィールドに、HH:MM:SECONDS の値を含む文字列値を追加 (合計) したいとします。

ReportDate は2013-01-01 10:00:00 追加する値です:120:34:29

したがって、結果は次のようになります。2013-01-06 10:34:00

私は試しました:

GregorianCalendar c = new GregorianCalendar();
c.setTime(reportDate);
String toAdd='120:34:29';
c.add(Calendar.HOUR, toAdd);
java.util.Date targetFinish = c.getTime();
SystemOutPrintln(targetFinish.toString()); 

問題のある行はc.add(Calendar.HOUR, toAdd); 、これらの値を追加する方法ですか? グレゴリオ暦でやりたい。そして、SysOut にその新しい価値を持たせたいと考えています。ありがとうございました

4

2 に答える 2

2
GregorianCalendar c = new GregorianCalendar();
c.setTime(reportDate);

String[] toAdd = "120:34:29".split(":");

int hours = Integer.parseInt(toAdd[0]);
int mins = Integer.parseInt(toAdd[1]);
int secs = Integer.parseInt(toAdd[2]);

c.add(Calendar.SECOND, secs);
c.add(Calendar.MINUTE, mins);
c.add(Calendar.HOUR, hours);

java.util.Date targetFinish = c.getTime();

SystemOutPrintln(targetFinish.toString());
于 2013-05-17T07:24:30.980 に答える
2

テキストを時間、分、秒に解析し、次のように追加できます-

String[] time ="120:34:29".split(":");

c.add(Calendar.HOUR, Integer.parseInt(time[0]));
c.add(Calendar.MINUTE, Integer.parseInt(time[1]));
c.add(Calendar.SECOND, Integer.parseInt(time[2]));
于 2013-05-17T07:18:26.623 に答える