我的项目中有一个事件,其开始日期存储在数据库中。 我想在活动开始前一天和活动开始的那几天宣传活动:
所以我做了
<?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
答案 0 :(得分: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";
}