显示基于多个日期的内容

时间:2012-12-17 10:50:39

标签: php date

我正在为一家商店建立一个网站,希望根据日期动态显示下一个开放的星期日。我设法创建一个脚本,但只测试一个日期。我想测试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';
    }

?>

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分: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;
    }
}

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