import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.TimeUnit;
public class TimeAddition {
public static void main(String args[]) throws ParseException {
String i = "0:10";
String a = "0:15";
// Converting String to Date format
DateFormat sdf = new SimpleDateFormat("hh:mm");
Date iTime = sdf.parse(i);
Date aTime = sdf.parse(a);
//仅通过获取时间来添加两个日期时间
long totalTime = iTime.getTime() + aTime.getTime();
System.out.println("Total time in millisecond = " + totalTime);
long millis = totalTime;
//将结果以毫秒为单位转换为“hh:mm:ss”
String hms = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis),
TimeUnit.MILLISECONDS.toMinutes(millis)
- TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
TimeUnit.MILLISECONDS.toSeconds(millis)
- TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
System.out.println("Time format " + hms);
}
}
//预期输出 00:25:00
最佳答案
您似乎想添加持续时间,Java 8+ 中有一个类可以表示:
Duration d1 = Duration.ofMinutes(10);
Duration d2 = Duration.ofMinutes(15);
Duration d = d1.plus(d2); //25 minutes
然后您需要将其格式化以进行输出。围绕这个问题有几个问题,例如:
- Why can't I get a duration in minutes or hours in java.time?
- Formatting a Duration in Java 8 / jsr310
请注意,如果持续时间少于一天,您可以使用:
LocalTime.MIDNIGHT.plus(d).format(DateTimeFormatter.ofPattern("HH:mm:ss"))
关于java - 如何使用java在日期时间中执行时间 ("0:10") + ("0:15") 的加法?预期结果是 00 :25:00,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41329611/