在DateTime字段上添加H:M:S值

时间:2013-05-17 07:15:27

标签: java date datetime add

如何在DateTime字段中添加HOURS:MINUTES:SECONDS值?

在示例中,我希望在包含dimetime值的字段中添加(sum)字符串值,其中包含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中拥有新的价值; 谢谢

2 个答案:

答案 0 :(得分: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]));

答案 1 :(得分: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());