0

週末に該当しない給与日のみを表示するスクリプトを探しています。

たとえば、月の 1 日、15 日、および最終日は給与の日付にすることができますが、日付が週末に当たる場合は、次の営業日が表示されます。

これは、これまでに行われたことです...

<?php
date_default_timezone_set('UTC');

function firstDayOftheMonth($month){
    return date('j',mktime(1,1,1,$month,1,date('Y')));
}

function lastDayOfTheMonth($month){
    return date('j',mktime(-1,-1,-1,$month+1,1,date('Y')));
}

function daysInMonth($month){
    return cal_days_in_month($calendar, $month, date('Y'));
}

function getDay($day, $month){
    return date('l', mktime(0, 0, 0, $month, $day, date('Y')));
}

// Set year and month variables.
$months = 12;

echo "<strong>Month Name, 1st Expenses Day, 2nd Expenses Day, Salary Day</strong><br />";

// Loop through months
for($month=1; $month <= $months; $month++){
    echo "<strong>" . date('F', mktime(1, 1, 1, $month, 1, date('Y'))) . "</strong><br />";
    // Get No# days for each month of the year.
    $days = daysInMonth($month);
    // Loop through all days of the month.
    for($d=1; $d <= $days; $d++){
        // Get textual days
        $day = getDay($d, $month);
        if($d==firstDayOftheMonth($month) || $d==lastDayOfTheMonth($month) || $d==15){
            echo $d . ", " . $day . ", " . date('Y') . "<br />";
        }
    }

     echo "<hr />";
}

?>

どんな助けでも大歓迎です。

ありがとうございます。

4

2 に答える 2

3

を使用date('w')して、曜日を数値として取得できます。と思いき0や、6それぞれ日曜日と土曜日です。

于 2012-04-24T16:27:07.787 に答える
0
if(($i=date('w', $date))>=5) {
  $date = strtotime(date("Y-m-d", strtotime($date)) . "+ ".(7-$i).($==6 ? "day" : "days")); 
}
于 2012-04-24T16:35:16.067 に答える