获取第三个星期六日期时出错


Error during third saturday date fetching

我想获取第三个星期六,我正在使用php函数,我知道这一点。但我在从错误中提取数据时得到了错误的数据。这是我的代码:

$frmdate = 2015-06-05;
$todate = 2015-08-31;
for ($date = strtotime($frmdate); $date <= strtotime($todate); $date = strtotime("+1 day", $date)) 
        {
            $custom_day = date("Y-m-d", $date);
            $custom_third_sat[] = date('Y-m-d', strtotime('third Saturday "'.$custom_day.'"'));
        }
        echo "<pre>";
        print_r($custom_third_sat);

我哪里错了?

每个月只包含一个"第三个星期六",因此不需要进行更多的天数循环。只需尝试此代码一次。

$frmdate = "2015-06-05";
$todate = "2015-08-31";
$custom_third_sat=array();
for ($date = date("Y-m-01", strtotime($frmdate)); $date <= $todate; $date = date("Y-m-01",strtotime($date."+1 Month"))) {
    if($date>$todate){
        break;
    }
    $t_date=date('Y-m-d', strtotime($date.' third Saturday'));
    if($t_date>=$frmdate && $t_date<=$todate)
    {
        $custom_third_sat[] = $t_date;
    }
}
echo "<pre>";print_r($custom_third_sat);

你应该像使用third saturday of一样使用of:试试这个

$custom_third_sat[] = date('Y-m-d', strtotime("third saturday of $custom_day"));

你的完整代码可以是这样的:

$frmdate = '2015-06-05';
$todate = '2015-08-31';
for ($date = strtotime($frmdate); $date <= strtotime($todate); $date = strtotime("+1 day", $date)) 
        {
            $custom_day = date("Y-m-d", $date);
if(!isset($custom_third_sat[date('Y-m-d', strtotime("third saturday of $custom_day"))])){
        $custom_third_sat[date('Y-m-d', strtotime("third saturday of $custom_day"))] = date('Y-m-d', strtotime("third saturday of $custom_day"));
}
        }
        echo "<pre>";
        print_r($custom_third_sat);

您只是缺少日期的引号

<?php
$frmdate = '2015-06-05';
$todate = '2015-08-31';
for ($date = strtotime($frmdate); $date <= strtotime($todate); $date = strtotime("+1 day", $date)) 
    {
    echo"assa";
        $custom_day = date("Y-m-d", $date);
        $custom_third_sat[] = date('Y-m-d', strtotime('third Saturday "'.$custom_day.'"'));
    }
    echo "<pre>";
    print_r($custom_third_sat);

?>