如果用户输入是 2255 和 2305,我如何计算 24 小时内的时间差,输出应该是 10 分钟。我的一个想法是将输入分成两部分,2 位数字和 2 位数字。前 2 位数字是小时,乘以 60 即可得到分钟。然后加上后2位数字,然后计算差值。我不想使用任何日期日历数据类型或 API 来解决它。谢谢
最佳答案
String time1 = "2255";
String time2 = "2305";
SimpleDateFormat format = new SimpleDateFormat("HHmm");
Date date1 = format.parse(time1);
Date date2 = format.parse(time2);
long difference = date2.getTime() - date1.getTime();
区别在于毫秒,您可以将其转换为任何单位,或者您可以使用 apache-commons 中的 DurationFormatUtils
来漂亮地格式化它。
System.out.println("Duration: "+DurationFormatUtils.formatDuration(difference, "HH:mm"));
apache commons 有非常好的实用函数,apache-commons (lang)
关于Java如何计算时差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3810023/