方法1: strtotimeとdate関数を使用する方法
function countWeekdays($start, $end) {
$count = 0;
$current = strtotime($start);
$end = strtotime($end);
while ($current <= $end) {
$weekday = date('N', $current);
if ($weekday < 6) { // 6は土曜日、7は日曜日
$count++;
}
$current = strtotime('+1 day', $current);
}
return $count;
}
$start = '2024-01-01';
$end = '2024-01-31';
$weekdayCount = countWeekdays($start, $end);
echo "週末を除いた日数: " . $weekdayCount;
方法2: DateTimeクラスを使用する方法
function countWeekdays($start, $end) {
$count = 0;
$current = new DateTime($start);
$end = new DateTime($end);
$interval = new DateInterval('P1D');
$period = new DatePeriod($current, $interval, $end);
foreach ($period as $date) {
$weekday = $date->format('N');
if ($weekday < 6) { // 6は土曜日、7は日曜日
$count++;
}
}
return $count;
}
$start = '2024-01-01';
$end = '2024-01-31';
$weekdayCount = countWeekdays($start, $end);
echo "週末を除いた日数: " . $weekdayCount;
これらの方法を使用すると、指定した日付範囲内で週末を除く日数をカウントすることができます。上記のコード例では、'2024-01-01'から'2024-01-31'までの期間で週末を除いた日数をカウントしています。