Java如何计算时差

use*_*501 2 java time

如果用户输入为2255且2305输出应为10分钟,如何计算24小时内的时差.我有一个想法是将输入分为2个部分,2个数字和2个数字.前2位是小时,是60到几分钟.然后加上第二个2位数,然后计算差异.我不想使用任何日期日历数据类型或API来解决它.谢谢

小智 6

    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();        
Run Code Online (Sandbox Code Playgroud)

差异是以毫秒为单位,您可以将其转换为任何单位,或者您可以使用DurationFormatUtils从apache-commons到相当格式化它.

System.out.println("Duration: "+DurationFormatUtils.formatDuration(difference, "HH:mm"));
Run Code Online (Sandbox Code Playgroud)

apache commons有很好的实用功能,apache-commons(lang)