我正在制作一个简单的程序,给出2次(1015和1025以及0925和1010)将返回它们之间的分钟时差。
所以
1015和1025 - >差异10分钟
答案 0 :(得分:1)
使用时间和日期的正确方法是使用时间/日期实用程序库。试图自己手动进行数学计算是一个很好的方法,可以自己动手。
如果您没有运行Java 8,那么您的两个最佳选择是Joda-Time,如果您运行的话,则是java.time
包。
我将给你一个Joda-Time的例子,因为我没有遗憾地运行Java 8,但是当我有一个Java 8的例子时,我也会更新这个答案。机会。它们在功能上非常相似(java.time
主要基于Joda-Time)。
LocalTime nineTwentyFive = new LocalTime(9, 25);
LocalTime tenTen = new LocalTime(10, 10);
LocalTime tenFifteen = new LocalTime(10, 15);
LocalTime tenTwentyFive = new LocalTime(10, 25);
System.out.println(Minutes.minutesBetween(tenFifteen, tenTwentyFive).getMinutes());
System.out.println(Minutes.minutesBetween(nineTwentyFive, tenTen).getMinutes());
10 45
这两个库都经过高度测试和流行,这意味着您可以相信它们能够开箱即用,即使在您没有预料到的边缘情况下也是如此。不要自己重新实现这种行为。
答案 1 :(得分:0)
这个简单的数学公式会给你答案:
((10*60 +10) - (9*60 + 25))
所以现在你需要做的就是:
瓦拉!
代码示例:
public class goFile {
public static int SubtractTime(String number1, String number2)
{
return Math.abs(ConvertTimeToMinutes(number2) - ConvertTimeToMinutes(number1));
}
public static int ConvertTimeToMinutes(String number)
{
return Integer.parseInt(number.substring(0, 2))*60 + Integer.parseInt(number.substring(2, 4));
}
public static void main(String[] args) {
System.out.println(SubtractTime("0925", "1010"));
System.out.println(SubtractTime("1015", "1025"));
}
}