在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中使用,这一点很重要