Сумма времени с использованием Java в формате ЧЧ: ММ

1

Я пытаюсь добавить ежедневное рабочее время для сотрудника в течение недели.

Пример: если сотрудник работал ниже в формате HH:MM

Monday      09:45
Tuesday     10:00
Wednesday   09:00
Thursday    09:30
Friday      10:00
----------------------------
Total       48:15
----------------------------

Мне нужно суммировать тайминги недели для создания часов начисления заработной платы. Как я мог это сделать с помощью java.

Не могли бы вы помочь? большое спасибо !!

  • 1
    Какой код у тебя так далеко? С какими объектами / классами вы имеете дело?
  • 0
    Я часто использую JodaTime для вещей DateTime в Java, получаю награду на joda-time.sourceforge.net/apidocs/org/joda/time/… org.joda.time.format.PeriodFormatter)
Показать ещё 1 комментарий
Теги:
datetime
time

2 ответа

2
Лучший ответ

Я бы сказал так:

int sum = 0
for( String hhmm : workingTimes ){
  String[] split = hhmm.split( ":", 2 );
  int mins = Integer.valueOf(split[ 0 ]) * 60 + Integer.valueOf( split[ 1 ] );
  sum += mins;
}

String formattedWorkingTime = (int)Math.floor(sum/60) + ":" + ( sum % 60 );
  • 0
    Работает отлично. Спасибо за помощь.
0

Вы можете использовать что-то вроде этого:

public static String totalTime(String...times) {
    int total = 0;
    for (String time : times) {
        String[] splits = time.split(":");
        total+=(Integer.parseInt(splits[0])*60 + Integer.parseInt(splits[1]));
    }

    return total/60 + ":" + total%60;
}

или

Альтернативно Вы также можете использовать Java 8 Time API

Ещё вопросы

Сообщество Overcoder
Наверх
Меню