0

次の営業日を日付に基づいて動的に表示したい店舗のウェブサイトを作成しています。そうするスクリプトを作成することができましたが、1 つの日付のみをテストします。データベースに入れずに 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

配列に開いている日曜日のリストがある場合 (DB を使用すると、すべてが大幅に変化し、DB の日付機能を自由に使用できるようになります)、次のようにすることができます。

$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 に答える
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 に答える