0

これが私の正確なコードです:

$date = date('l, F j'); 
$start = $row['date']; // equal to Monday, April 15
$interval = $row['interval']; // this is equal to 7 
$end = date('l, F j', strtotime($start ."+$interval days"));

 if ($end < $date) { 
     // do this 
 } else { 
     //yada yada yada
 }

変数を$interval間違って使用しているのか、それとも日付 strtotime +7 日をこの日付形式で使用できないのかはわかりません。これで日付形式を維持したいのですが、変更する必要がある場合は、変更する必要があると思います。問題は、この日付形式を使用して日数を追加でき$intervalますか? 日付が $date よりも小さい場合$end、コードの一部を実行する必要があり、その部分は実行しません。

どんな助けでも素晴らしいでしょう。ありがとう。

4

1 に答える 1

3

それが正確なコードである場合date(l, F j)、最初の行に構文エラーがあり、このコードはそのままでは実行できません。

問題は、時間値を STRINGS に変換してから、文字列比較を行っていることです。

例えば

('December 1' < 'February 15')

Dの前に来るので、TRUE になりますF。strtotime() が生成する生のタイムスタンプを比較する必要があります。これは単純な整数です。

if (strtotime($start) < strtotime($end)) {
   start is less than end
}
于 2013-04-23T21:51:07.957 に答える