我见过一些使用Joda Time和其他方法计算两个日期之间的毫秒差的示例,但是如何才能应用这些方法来计算两个时间之间的分钟差呢?例如,下午2:45和上午11:00之间的差异是225分钟。
发布于 2013-09-09 01:28:00
你可以通过观察1分钟是60秒,1秒是1000毫秒来算出数学,所以一分钟是60*1000
毫秒。
如果将毫秒除以60,000,秒将被截断。您应该将该数字除以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.");
发布于 2013-09-09 01:31:33
使用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
}
Minutes.minutesBetween()
接受ReadableInstant
参数,该参数不一定是DateTime
对象。
发布于 2013-09-09 01:27:48
要将毫秒转换为分钟,请除以60000
。
https://stackoverflow.com/questions/18686575
复制相似问题