Я пытаюсь добавить ежедневное рабочее время для сотрудника в течение недели.
Пример: если сотрудник работал ниже в формате HH:MM
Monday 09:45
Tuesday 10:00
Wednesday 09:00
Thursday 09:30
Friday 10:00
----------------------------
Total 48:15
----------------------------
Мне нужно суммировать тайминги недели для создания часов начисления заработной платы. Как я мог это сделать с помощью java.
Не могли бы вы помочь? большое спасибо !!
Я бы сказал так:
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 );
Вы можете использовать что-то вроде этого:
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