Java, как рассчитать разницу во времени - PullRequest
1 голос
/ 28 сентября 2010

Как рассчитать разницу во времени за 24 часа, если пользовательский ввод 2255 и 2305, вывод должен составлять 10 минут.У меня появилась идея разделить ввод на 2 части, 2 цифры и 2 цифры.первые 2 цифры - час, умножьте его на 60, чтобы сделать это минутами.Затем добавьте его со вторыми 2 цифрами и затем рассчитайте разницу.Я не хочу использовать какой-либо тип данных Date Calendar или API для его решения.Спасибо

Ответы [ 2 ]

5 голосов
/ 28 сентября 2010
    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();        

Разница в миллисекундах: вы можете конвертировать его в любую единицу, или вы можете использовать DurationFormatUtils из apache-commons, чтобы отформатировать его.

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

apache commons имеет действительно хорошие вспомогательные функции, apache-commons (lang)

1 голос
/ 28 сентября 2010

Как получить первые 2 цифры без использования String chartAt. * ​​1002 *

старшие две цифры: число / 100 Самый низкий два digist: число% 100

Но что бы вы сделали, если бы пользователь ввел 3:05 или 3-05? Я думаю, что это проблема юзабилити. Лучшее решение - сделать интерфейс пользователя понятным для пользователя. Например, вы можете использовать отдельные поля для часов и минут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...