0

毎月第 1 月曜日と第 3 月曜日を自動的に Web サイトに表示したいと考えています。現在の日付が最初の月曜日より後の場合、3 番目の月曜日のみを表示する必要があります。

フォーラムで見つかったコードを修正し、いくつかの変更を加えましたが、PHP の知識が限られているため、正しい結果が得られるかどうかを確認できません。

$time = strtotime("first Monday of ".$monthname." ".$year); 
$time2 = strtotime("third Monday of ".$monthname." ".$year); 
{
    if ($time2 > $time) {
        echo date('d-m-Y',$time2)." ".$monthname;
    }
    else {
        echo date('d-m-Y',$time)." ".$monthname;
    }
}  
4

1 に答える 1

0

私はあなたが何を意味するのか完全にはわかりませんが、これは私があなたが望むと思うことをするはずです:

$time1 = strtotime("first Monday of {$monthname} {$year}"); 
$time2 = strtotime("third Monday of {$monthname} {$year}");
echo date('jS F Y', time() > $time1 ? $time2 : $time1); // e.g. 1st January 1970

time() > $time1 ? $time2 : $time1は、基本的に次を意味する三項条件です。

condition ? if_true : if_false

あなたが書いたように、変数を二重引用符で囲むことができることを知っておく必要があると思います。

$a = 'first';
echo "The $a day of the week"; // echoes 'The first day of the week

ただし、単一引用符ではなく、たとえば

$a = 'first';
echo 'The $a day of the week'; // echoes 'The $a day of the week.

私ができるように、慣習から外れた変数の周りに中括弧を置きます

$a = 'first';
$b = 'variable';
echo "This is the {$a}_{$b}"; // Echoes 'This is the first_variable'

ブレースなし

echo "This is the $a_$b" // Undefined variable $a_

また

try {
    // Do something
} catch (Exception $ex) {
    echo "There was an error and the message was {$ex->getMessage()}";
}
于 2014-02-27T15:29:31.567 に答える