我的项目中有一个类似事件的东西,其开始日期存储在数据库中。我想在活动开始前一天以及活动活跃期间宣传活动:
所以我做到了
<?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
这将解决您上面的问题:
$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";
}