= 18) { return 10; } else { return 5; } } function hour_fraction($t) { $parts = getdate($t); $minutes = $parts['minutes']; return $minutes / 60; } function calc_point($s1, $s2) { $t1 = strtotime($s1); $t2 = strtotime($s2); $sum = 0; $t1x = $t1; while($t1x % 3600 != 0) $t1x++; $t2x = $t2; while($t2x % 3600 != 0) $t2x--; for($t = $t1x; $t < $t2x; $t += 3600) { $sum += point_rate($t); } $sum -= hour_fraction($t1) * point_rate($t1); $sum += hour_fraction($t2) * point_rate($t2); return $sum; } echo calc_point('07:00', '19:00') . "\r\n"; echo calc_point('07:30', '19:30') . "\r\n"; echo calc_point('3-Dec-2010 13:00', '3-Dec-2010 15:00') . "\r\n"; echo calc_point('4-Dec-2010 13:00', '4-Dec-2010 15:00') . "\r\n"; echo calc_point('5-Dec-2010 13:00', '5-Dec-2010 15:00') . "\r\n"; echo calc_point('Today 13:00', 'Today 15:00') . "\r\n"; echo calc_point('Tomorrow 13:00', 'Tomorrow 15:00') . "\r\n"; ?>