描述:
给定两个合法的时间(格式固定:hh:mm:ss,时间合法,不用考虑其它情况),输入两个时间相加后的结果;注意,相加后的结果也必需是一个合法的时间;
附合法时间定义:小时在[00-23]之间,分钟和秒分别是在[00-59]之间;
运行时间限制:
无限制
内存限制: 无限制
输入:
时分秒格式的时间字符串,如00:00:00
输出:
时分秒格式的时间字符串,如00:00:00
样例输入: 00:00:00
00:00:01
样例输出: 00:00:01
答案提示:
建议将时间转换为秒数计算
package huawei; /* author:hansongjiang */ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; //时间相加 public class 时间处理 { public static int getSecond(String s1) { String s[]=s1.split(":"); int n[]=new int[s.length]; for(int i=0;i<s.length;i++) { n[i]=Integer.parseInt(s[i]); } return n[0]*60*60+n[1]*60+n[2]; } public static String sumOfTime(String s1,String s2) { StringBuffer sbf=new StringBuffer(); int sum=getSecond(s1)+getSecond(s2); int hour=(sum/60/60)%24; int min=sum/60%60; int sec=sum%60; sbf.append(hour+":"+min+":"+sec); return sbf.toString(); } public static void main(String[] args) throws ParseException { /* java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd"); java.util.Date beg= format.parse("2007-12-24"); java.util.Date end= format.parse("2008:-11-25"); long day=(beg.getTime()+end.getTime())/(24*60*60*1000); */ System.out.println(sumOfTime("10:30:34", "12:34:34")); } }
原文:http://www.cnblogs.com/hansongjiang/p/3596112.html