Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从字符串中解析持续时间并添加它们?_Java - Fatal编程技术网

Java 如何从字符串中解析持续时间并添加它们?

Java 如何从字符串中解析持续时间并添加它们?,java,Java,我需要用Java解析HH:MM格式的两个字符串: String time1="10:45"; String time2="02:30"; 你想得到差别吗?看看SimpleDateFormat,也许你可以用它来创建一个日期,然后在此基础上进行计算。你想得到差异吗?看看SimpleDateFormat,也许你可以用它来创建一个日期,然后根据它进行计算。使用SimpleDateFormat来获取日期 DateFormat formatter = new SimpleDateFormat("HH:mm

我需要用Java解析
HH:MM
格式的两个字符串:

String time1="10:45";
String time2="02:30";

你想得到差别吗?看看SimpleDateFormat,也许你可以用它来创建一个日期,然后在此基础上进行计算。

你想得到差异吗?看看SimpleDateFormat,也许你可以用它来创建一个日期,然后根据它进行计算。

使用SimpleDateFormat来获取日期

DateFormat formatter = new SimpleDateFormat("HH:mm");
Date date = (Date)formatter.parse("10:20");
然后你可以把日期加在一起

你可能需要做一些逻辑来处理不同日期的时间。我建议对任何日期操作使用JodaTime


不确定这是否相关,因为不确定实际问题是什么……

使用SimpleDateFormat获取日期

DateFormat formatter = new SimpleDateFormat("HH:mm");
Date date = (Date)formatter.parse("10:20");
然后你可以把日期加在一起

你可能需要做一些逻辑来处理不同日期的时间。我建议对任何日期操作使用JodaTime

不确定这是否相关,因为不确定实际问题是什么……

愚蠢但简单:

String time1 = "10:45";
String time2 = "02:30";

String[] split1 = time1.split(":");
String[] split2 = time2.split(":");

int total = 60 * Integer.parseInt(split1[0]) +
            Integer.parseInt(split1[1]) +
            60 * Integer.parseInt(split2[0]) +
            Integer.parseInt(split2[1]);

int hours = total / 60;
int minutes = total - hours * 60;
System.out.println(hours + ":" + minutes);
愚蠢但简单:

String time1 = "10:45";
String time2 = "02:30";

String[] split1 = time1.split(":");
String[] split2 = time2.split(":");

int total = 60 * Integer.parseInt(split1[0]) +
            Integer.parseInt(split1[1]) +
            60 * Integer.parseInt(split2[0]) +
            Integer.parseInt(split2[1]);

int hours = total / 60;
int minutes = total - hours * 60;
System.out.println(hours + ":" + minutes);

你的问题到底是什么?你说“计算两个字符串”是什么意思?这里“计算”是什么意思?你试过什么?计算小时数和分钟数给我总计=13:15你是说“总计”和“持续时间”一样吗?如果这个总数大于24小时呢?你的问题是什么?你说“计算两个字符串”是什么意思?这里“计算”是什么意思?你试过什么?计算小时数和分钟数给我总计=13:15你是说“总计”和“持续时间”一样吗?如果总数大于24小时,该怎么办?这不是答案,而是注释。@Tichodroma ceci n'est pas une pipe的正确值为“this”。这不是答案,而是注释。@Tichodroma ceci n'est pas une pipe的正确值为“this”。