开发者

Java how to calculate time differences

How can I calculate the time differences in 24 hour if the user input is 2255 and 2305 the output should be 10 minutes. I got an idea is to separate the input to 2 parts, 2 digits and 2 digits. the first 2 digits is开发者_开发百科 the hour, times it to 60 to make it to minutes. Then plus it with the second 2 digits and then calculate the differences. I dont want use any Date Calendar data type or API to solve it. Thanks


    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();        

difference is in millis you can convert it to any unit or you can use DurationFormatUtils from apache-commons to pretty format it.

System.out.println("Duration: "+DurationFormatUtils.formatDuration(difference, "HH:mm"));

apache commons has really nice utility functions, apache-commons (lang)


How to get first 2 digit without using String chartAt.

Highest two digits: number / 100 Lowest two digist: number % 100

But what would you do if user enter 3:05 or 3-05? I think it's problem of usability. Best solution is making UI definitely understandable for user. For example you can use separate fields for hours and minutes.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜