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

您可以将文本解析为小时、分钟和秒,然后像这样添加它们 -

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 回答
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 回答