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 );
 ?>

我现在被困住了;我正在使用codeigniter并且数据库部分还可以,但我只想知道如何减去$today$event_start_date以确定广告的有效期。

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 回答