-5

2つの日付を指定した場合、次のような結果が必要です-

SUNDAY = 3 TIMES
MONDAY = 3 TIMES
TUESDAY = 4 TIMES
WEDNESDAY = 4 TIMES
THURSDAY = 4 TIMES
FRIDAY  = 4 TIMES
SATRUDAY = 4 TIMES

これがmysqlの関数を介して実行できるのか、phpから実行する必要があるのか​​ 混乱しています。私はmysqlでさまざまな方法を試しましたが、成功しませんでした。私はphpで試していますが、コードはやや長くなります。

4

1 に答える 1

1

試す;

define('ONE_WEEK', 604800); // 7 * 24 * 60 * 60

function number_of_days($day, $start, $end)
{
    $w = array(date('w', $start), date('w', $end));

    return floor( ( $end - $start ) / ONE_WEEK ) + ( $w[0] > $w[1] ? $w[0] <= $day || $day <= $w[1] : $w[0] <= $day && $day <= $w[1] );
}

//$start = $end = time();

echo number_of_days(0, $start, $end); // SUNDAY
echo number_of_days(1, $start, $end); // MONDAY
echo number_of_days(2, $start, $end); // TUESDAY
echo number_of_days(3, $start, $end); // WEDNESDAY
echo number_of_days(4, $start, $end); // THURSDAY
echo number_of_days(5, $start, $end); // FRIDAY
echo number_of_days(6, $start, $end); // SATURDAY
?>
于 2012-08-11T10:09:49.250 に答える