Java 以分钟为单位的两次差

Java 以分钟为单位的两次差,java,time,Java,Time,我见过一些使用Joda Time和其他方法计算两个日期(以毫秒为单位)之间差异的示例,但是如何应用这些方法来计算两个时间(以分钟为单位)之间的差异呢?例如,下午2:45和上午11:00之间的差值是225分钟。要将毫秒转换为分钟,除以60000你可以通过观察一分钟是60秒,一秒是1000毫秒,因此一分钟是60*1000毫秒来计算出数学 如果将毫秒除以60000,秒将被截断。您应该将该数字除以1000以截断毫秒,然后将n%60作为秒数,将n/60作为分钟数: Date d1 = ... Date d

我见过一些使用Joda Time和其他方法计算两个日期(以毫秒为单位)之间差异的示例,但是如何应用这些方法来计算两个时间(以分钟为单位)之间的差异呢?例如,下午2:45和上午11:00之间的差值是225分钟。

要将毫秒转换为分钟,除以60000

你可以通过观察一分钟是60秒,一秒是1000毫秒,因此一分钟是60*1000毫秒来计算出数学

如果将毫秒除以60000,秒将被截断。您应该将该数字除以1000以截断毫秒,然后将
n%60
作为秒数,将
n/60
作为分钟数:

Date d1 = ...
Date d2 = ...
long diffMs = d1.getTime() - d2.getTime();
long diffSec = diffMs / 1000;
long min = diffSec / 60;
long sec = diffSec % 60;
System.out.println("The difference is "+min+" minutes and "+sec+" seconds.");

使用
JodaTime
,您可以执行以下操作以获得准确的分钟数

public static void main(String[] args) throws Exception {   //Read user input into the array
    long time = System.currentTimeMillis(); // current time
    DateTime time1 = new DateTime(time);
    DateTime time2 = new DateTime(time + 120_000); // add 2 minutes for example
    Minutes minutes = Minutes.minutesBetween(time1, time2);
    System.out.println(minutes.getMinutes()); // prints 2
}

接受的参数不一定是
DateTime
对象

我知道这一点,我只是想知道如何在第一时间获得两次之间的实际差异,而不是2个日期d1是否可以作为一个字符串输入,如0225?它是否也在24小时内?@user2704743
d1
d2
不是字符串,它们是
java.util.Date
对象。根据区域设置的不同,有不同的输入方式。查找“Java解析日期”以查看可以输入这些日期的格式。也可以在Java Calendar中查找另一个日期选项。谢谢你的帮助,我会很难过的。我不认为我的问题很清楚。我想知道如何在几分钟内得到两次而不是两次日期的差异