在java中添加两次字符串
我有两次弦乐在java中添加两次字符串,java,Java,我有两次弦乐 1:30:00 1:35:00 有没有一个简单的方法可以将这两个时间相加,得到一个新的时间,这应该是什么 3:05:00 我希望在客户端执行此操作,因此如果我可以避免任何日期数据库使用SimpleDataFormat解析字符串,那么您可以添加小时分钟和秒 差不多 SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss"); d1 = df.parse("1:30:00"); d2 = df.parse("1:35:00"
1:30:00
1:35:00
有没有一个简单的方法可以将这两个时间相加,得到一个新的时间,这应该是什么
3:05:00
我希望在客户端执行此操作,因此如果我可以避免任何日期数据库使用SimpleDataFormat解析字符串,那么您可以添加小时分钟和秒 差不多
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();
你也可以在这里看到,它看起来可能是
或者,如果你想使用日历API,那么你也可以使用日历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));
使用SimpleDataFormat解析字符串,然后可以添加小时、分钟和秒 差不多
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();
你也可以在这里看到,它看起来可能是
或者,如果你想使用日历API,那么你也可以使用日历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));
只需在一年级到二年级对数字求和时对其进行求和,并将其倒序。
还应确保在需要时将数字移到更高的寄存器(即不
始终在达到10时,但在达到24或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);
还应确保在需要时将数字移到更高的寄存器(即不始终在达到10时,但在达到24或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);
输出:总和为00:03:05
输出:
总和为00:03:05
请记住,您可以将小时/分钟/秒的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;
}
请记住,您可以将小时/分钟/秒的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;
}
是那些时候吗?它们是持续时间吗?它们是间隔时间吗?查看
jodatime
。是这些时间吗?它们是持续时间吗?它们是间隔时间吗?查看jodatime
@junaidp,你也是tried@junaidp那么您已经尝试过timeformat.setTimeZone(TimeZone.getTimeZone(“UTC”);如果您在androidtimeFormat.setTimeZone(TimeZone.getTimeZone(“UTC”)中使用,则此项非常重要;如果您在android中使用,这一点很重要