2012-04-24 26 views
0

我正在寻找一个脚本,将只显示不下周末的薪水日期。薪水PHP脚本

例如,该月的第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 />"; 
} 

?> 

任何帮助深表感谢。

谢谢先进。

+0

究竟是什么问题? – jeroen 2012-04-24 16:30:19

+0

如果发薪日在周末,你通常不会在前一天收到款项吗? – 2012-04-24 17:23:42

回答

3

您可以使用date('w')将星期几作为数字。我认为06分别是星期日和星期六。

0
if(($i=date('w', $date))>=5) { 
    $date = strtotime(date("Y-m-d", strtotime($date)) . "+ ".(7-$i).($==6 ? "day" : "days")); 
}