function get_hours_elapsed($day, $hour) {
$time_start = 8; // 8am;
$time_end = 15; // 3pm
$day_start = 1; // Mon
$day_end = 5; // Fri
$days_elapsed = max(min($day, $day_end) - $day_start, 0);
$hours_elapsed = $days_elapsed * ($time_end - $time_start);
$hours_elapsed += max(min($hour, $time_end) - $time_start, 0);
return $hours_elapsed;
}
var_dump(get_hours_elapsed(
date("N"), // 0 - 6, 0 being Sunday
date("G") // 0 - 23
)); // actual time
var_dump(get_hours_elapsed(4, 10)); // 10 am on a Thursday
因爲它是週三下午5點對我來說它打印:
int(21);
int(23);
如果時間多星期運行只需添加num_weeks * total_hours_in_week
小時。
如果定時器沒有在星期一早上8點開始,則減去小時數。所以,如果它在星期四上午10點開始,減去23.