0

我正在为一家商店制作一个网站,该商店希望根据日期动态显示下一个营业日。我设法制作了一个这样做的脚本,但只测试一个日期。我想测试 10 个日期而不将它们放入数据库中。这是我的脚本。

<?

    $mydate = '2012-12-23';
    $curdate = date('Y-m-d');

    if($curdate == $mydate)
    {
        echo 'Vandaag';
    }
    elseif($curdate > $mydate)
    {
        echo '26 december';
    }
    elseif($curdate < $mydate)
    {
        echo '23 december';
    }
    else
    {
        echo 'Koopzondag niet ingeladen';
    }

?>
4

2 回答 2

0

也许这就是你正在寻找的:

<?php

$mydate = '2012-12-23';
echo date('d F', strtotime(getNextSunday($mydate)));

function getNextSunday($date) {
    $timestamp = strtotime($date);
    if (date('w', $timestamp) == 0) {
         $sunday = date('Y-m-d', $timestamp); // today
    }
    else {
        $sunday = date('Y-m-d', strtotime('next Sunday', $timestamp)); // next sunday
    }
    return $sunday;
}
于 2012-12-17T11:12:06.810 回答
0

如果您有一个数组中的开放星期日列表(使用数据库时,整个事情会发生巨大变化,您可以使用数据库的日期功能),您可以这样做:

$opensundays = array("2012-12-23", "2012-12-30", "2012-01-06");
$today = date("Y-m-d");
$r = "";

foreach ($opensundays as $idx=>$sunday) {
    if ($today == $sunday) {
        $r = "today is an open Sunday";
        break;
    } elseif ($today > $opensundays[$idx-1] && $today < $sunday) {
        $r = "next open Sunday is at ".$sunday;
        break;
    }
}

请注意,此代码没有边界检查,它只是为了展示一个概念。

于 2012-12-17T11:26:23.673 回答