Java 如何在两次之间留出分钟?

Java 如何在两次之间留出分钟?,java,time,duration,localtime,minute,Java,Time,Duration,Localtime,Minute,我有两次,我想在几分钟内得到差异 例: 我有这个: 09:11:30;09:15:22; 我想做到这一点: 3 min passed 请注意,9:15:22不是9:15:30,因此4分钟还没有过去。与任何日期/时间问题一样,将数据放入最佳可表示容器中,在这种情况下,即LocalTime 从那里,您可以简单地使用API为您完成工作,在本例中,利用持续时间 这会打印出3个,你可以添加其余的格式 有关更多信息,您可以查看 学分:Uros K您到目前为止都尝试了什么?您可以将两个输入时间都转换为秒,

我有两次,我想在几分钟内得到差异

例:

我有这个:

09:11:30;09:15:22;
我想做到这一点:

3 min passed

请注意,9:15:22不是9:15:30,因此4分钟还没有过去。

与任何日期/时间问题一样,将数据放入最佳可表示容器中,在这种情况下,即LocalTime

从那里,您可以简单地使用API为您完成工作,在本例中,利用持续时间

这会打印出3个,你可以添加其余的格式

有关更多信息,您可以查看


学分:Uros K

您到目前为止都尝试了什么?您可以将两个输入时间都转换为秒,得到差值,然后除以60得到以分钟为单位的差值。因为您只对分钟感兴趣,所以可以将“diffInMin”变量定义为两次或两次持续时间的“int”?您的标题与问题的主体冲突。感谢您的贡献。请不要教年轻人使用过时的、臭名昭著的、麻烦的SimpleDateFormat类。至少不是第一个选择。而且不是毫无保留的。今天我们有更好的in和它的DateTimeFormatter。好的,谢谢,我会记住的
DateTimeFormatter pattern = DateTimeFormatter.ofPattern("HH:mm:ss", Locale.ENGLISH);
LocalTime from = LocalTime.parse("09:11:30", pattern);
LocalTime to = LocalTime.parse("09:15:22", pattern);
Duration duration = Duration.between(from, to);
System.out.println(duration.toMinutes());
String time1 = "09:11:30";
String time2 = "09:15:22";

SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
Date date1 = format.parse(time1);
Date date2 = format.parse(time2);
long difference = date2.getTime() - date1.getTime(); 
long difInMinute = (difference/1000)/60;
System.out.println(difInMinute+" min passed");