1

私のプロジェクトには、開始日がデータベースに保存されているイベントのようなものがあります。イベントが開始される前日と、イベントがアクティブな日中に、イベントについて宣伝したいと考えています。

だから私はした

<?php $today = date('Y-m-d');
   $event_start_date = $event->event_start_date;
   $event_valid_advertise_date = strtotime ( '-1 day' , strtotime ( $event_start_date ) ) ;
   $event_valid_advertise_date = date ( 'Y-m-d' , $event_valid_advertise_date );
 ?>

私は今立ち往生しています。私は使用しており、データベース部分は問題ありませんが、広告の有効期間を決定するために$today$event_start_datecodeigniterを減算する方法を知りたいだけです。

PHP関数date_diff($today,$event_valid_date)で次のエラーが表示されます:

arg 1 should be of type date , string provided

4

1 に答える 1

2

これにより、上記の問題が解決されます。

$now = strtotime("now");
$event_advertise_date = strtotime('-1 day', strtotime($event->event_start_date));
if ($now > $event_advertise_date)
{
    echo "show event";
}
else
{
    echo "too early for this event";
}

あなたの質問を読んでください - この改善されたコードを使用して、完了後にイベントの表示を停止することもできます (私はいくつかの仮定をしました - しかし、あなたはアイデアを得るでしょう):

$now = strtotime("now");
$event_advertise_date = strtotime('-1 day', strtotime($event->event_start_date));
$event_end_date = strtotime($event->event_end_date);
if (($now > $event_advertise_date) && ($now < $event_end_date))
{
    echo "show event";
}
else
{
    echo "too early or late for this event";
}
于 2012-08-09T09:03:48.080 に答える