Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public static hourCount TimeCalcHr(DateTime StartTime, Datetime EndTime)
- {
- hourCount hours = new hourCount();
- //everything is in minutes
- integer morningMinutes = 0;
- integer eveningMinutes = 0;
- integer startMinutes = StartTime.Hour() * 60 + StartTime.Minute();
- integer endMinutes = EndTime.Hour() * 60 + EndTime.Minute();
- integer wholeDays = startTime.date().daysBetween(EndTime.date());
- bool spansDays = false;
- if (wholeDays > 0){
- wholeDays --;
- spansDays = true;
- }
- startMinutes = wholeDays * 12 * 60;
- endMinutes = wholeDays * 12 * 60;
- if(startMinutes < 360) //minutes in the first half of the day
- {
- morningMinutes += math.MIN(endMinutes,360) - startMinutes;
- }
- else
- {
- eveningMinutes += math.MIN(endMinutes,1440) - startMinutes;
- }
- if(endMinutes > 360 && (startMinutes < 360 || spansDays) )
- {
- eveningMinutes += endMinutes - 360;
- if(spansDays)
- morningMinutes += 360;
- }
- else
- {
- morningMinutes += endMinutes;
- }
- hours.nightHours = math.ceil(eveningMinutes / 60);
- hours.dayHours = math.ceil(morningMinutes / 60);
- return hours;
- }
Advertisement
Add Comment
Please, Sign In to add comment