在不添加周末的情况下获取一个月中的天数



有了这段代码,我可以获得整个月的天数,现在如何删除周六和周日?

public function days(){
$days=array();
$month = 3;
$year = 2018;
for($d=1; $d<=31; $d++)
{
$time=mktime(12, 0, 0, $month, $d, $year);          
if (date('m', $time)==$month)       
$days[]=date('Y-m-d H:i:s', $time);

}
return view('days',compact('days'))}

就像这里说的那样,以获得当天的名称

$days=array();
$month = 3;
$year = 2018;
$firstdate = $year.'-'.$month.'-01';  //taked firstdate using month and year
$lastdate = date('t', strtotime($firstdate)); //get last date from first date of month
for($d=1; $d<=$lastdate; $d++) // loop till last date
{
$time=mktime(12, 0, 0, $month, $d, $year);   
//check if day not equal Sat on Sun date('D', $time) != "Sat" or (date('D', $time) != "Sun" )      
if ((date('m', $time)==$month && ($dayis != 'Sat')) && (date('m', $time)==$month && ($dayis != 'Sun'))){  
echo date('D', $time)."<br>"; //to echo day name
$days[]=date('Y-m-d H:i:s', $time); // store dates in array if not Saturday or Sunday
}
}
var_dump($days); // print all stored date(var_dump is just to check data)

内联解释&在评论中!

/*public*/ function days($year, $month){
$days=array();
for($d=1; $d<=31; $d++) {
$time=mktime(12, 0, 0, $month, $d, $year);  
// here check if weekday (date('w', $time)) is greater than sun (=0) and lower than sat (=6)        
if(date('m', $time)==$month && date('w', $time)>0 && date('w', $time)<6) {
$days[]=date('Y-m-d H:i:s', $time);
}
}
return $days;
}
print_r(days(2018, 3));
// output: 
// Array ( [0] => 2018-03-01 12:00:00 [1] => 2018-03-02 12:00:00 [2] => 2018-03-05 12:00:00 [3] => 2018-03-06 12:00:00 [4] => 2018-03-07 12:00:00 [5] => 2018-03-08 12:00:00 [6] => 2018-03-09 12:00:00 [7] => 2018-03-12 12:00:00 [8] => 2018-03-13 12:00:00 [9] => 2018-03-14 12:00:00 [10] => 2018-03-15 12:00:00 [11] => 2018-03-16 12:00:00 [12] => 2018-03-19 12:00:00 [13] => 2018-03-20 12:00:00 [14] => 2018-03-21 12:00:00 [15] => 2018-03-22 12:00:00 [16] => 2018-03-23 12:00:00 [17] => 2018-03-26 12:00:00 [18] => 2018-03-27 12:00:00 [19] => 2018-03-28 12:00:00 [20] => 2018-03-29 12:00:00 [21] => 2018-03-30 12:00:00 )

相关内容

最新更新