我正在计算两次之间的差异,并且我能够使用单独的方程式获得小时和分钟的差异,是否有任何单个方程式可以一次获得小时和分钟。我使用的是:
这里 diff 是两个时间值之间的差异
long diffHours1 = diff / (60 * 60 * 1000);
long min=diff/(60*1000);
有没有一个方程式可以让我一次得到小时和分钟
不,不容易。Java 表达式只能有一个结果;返回几件事并非不可能,但需要额外的机器(包装类、元组等)。这将导致代码比您现在拥有的代码复杂得多。
您可以做一些简化事情的方法是先计算分钟,然后根据分钟计算小时:
long diffMinutes = diff / (60*1000);
long diffHours = diffMinutes / 60;
就在这里:
String oneGo = (diff / (60 * 60 * 1000)) + " " + (diff / (60 * 1000));
:-)
好吧,两个方程式还不错(实际上使用更多行更容易阅读),尽管您可能会更改顺序,更正方程式并缓存一些结果。
diff = //time difference in milliseconds
long diffInMinutes = diff / (60 * 1000);
//get the number of hours, e.g. 140 / 60 = 2
long hours = diffInMinutes / 60;
//get the left over minutes, e.g. 140 % 60 = 20
long minutes = diffInMinutes % 60;
如果您想要一个方程的原因是易于使用,请尝试使用替代库,例如Joda Time。