
Untitled
By: a guest on
Aug 22nd, 2012 | syntax:
JavaScript | size: 1.29 KB | hits: 13 | expires: Never
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;
}