在java 中添加两个字符串时间

我有两个String时间

1:30:00 1:35:00 

有没有一种简单的方法来添加这两次并得到一个新的时间应该是3:05:00

我想在客户端这样做,所以如果我可以避免任何日期的liabraries

请记住,您可以将小时/分钟/秒的int值转换为单个int,如下所示:

 int totalSeconds = ((hours * 60) + minutes) * 60 + seconds; 

并转换回来:

 int hours = totalSeconds / 3600; // Be sure to use integer arithmetic int minutes = ((totalSeconds) / 60) % 60; int seconds = totalSeconds % 60; 

或者你可以按如下方式逐步进行算术:

 int totalHours = hours1 + hours2; int totalMinutes = minutes1 + minutes2; int totalSeconds = seconds1 + seconds2; if (totalSeconds >= 60) { totalMinutes ++; totalSeconds = totalSeconds % 60; } if (totalMinutes >= 60) { totalHours ++; totalMinutes = totalMinutes % 60; } 
 String time1="0:01:30"; String time2="0:01:35"; SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss"); timeFormat.setTimeZone(TimeZone.getTimeZone("UTC")); Date date1 = timeFormat.parse(time1); Date date2 = timeFormat.parse(time2); long sum = date1.getTime() + date2.getTime(); String date3 = timeFormat.format(new Date(sum)); System.out.println("The sum is "+date3); 

输出: The sum is 00:03:05

使用SimpleDateFormat来解析字符串然后您可以添加小时分钟和秒

就像是

  SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss"); d1 = df.parse("1:30:00"); d2 = df.parse("1:35:00"); Long sumtime= d1.getTime()+d2.getTime(); 

你可以在这里看到这个看起来像是#####的副本

或者如果你想使用Calender API,那么你也可以使用Calender API来做,然后你可以做类似的事情

 Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); Calendar cTotal = Calendar.getInstance(); cTotal.add(c1.get(Calendar.YEAR), c2.get(Calendar.YEAR)); cTotal.add(c1.get(Calendar.MONTH) + 1)), c2.get(Calendar.MONTH) + 1)); // Months are zero-based! cTotal.add(c1.get(Calendar.DATE), c2.get(Calendar.DATE)); 

只需将它们与第1 – 2年级的数字相加,然后向后通过它们。
还要确保在需要时将数字移到更高的寄存器(即不是
总是在达到10但达到24或60小时/分钟时)。
所以我建议你自己编写这个算法。