根据用户订阅的有效日期返回false


Return false based on user subscription validity date?

我有一个场景,管理员在站点中注册了有效的用户详细信息结束日期。在登录过程中,脚本应该验证它是否超过了结束日期。

我可以尝试使用这个代码,

$val_date = date("Y/m/d");
$date1 = new DateTime($val_date);
$date2 = new DateTime("2009/06/26");
$interval = $date1->diff($date2);

但是,我应该如何处理负面约会?

我的意思是,如果出现这种情况,

$date1 = new DateTime("2009/03/24");
$date2 = new DateTime($val_date);
$interval = $date1->diff($date2);

我应该有当前日期的哪个日期?$date1还是$date2

在与进行比较之前,您甚至不需要将今天设置为日期

$val_date = date("Y/m/d");

只要做到:$today=strtotime(日期("Y/m/d"(;$exp_date=strtotime(日期("2009/06/26"((;

if($today<$exp_date){
    echo 'Login has not expired yet';
}else{
    echo 'Login has expired and you cannot enter anymore';
}

strtotime将日期(接受非常广泛的格式选项(转换为unix时间戳。Unix时间戳自1970年1月1日起以秒为单位计算。(UTC(这意味着,例如,在我编写时,unix时间戳将为"1441119516"。这样就可以很容易地进行任何比较或计算,如添加或删除天数/小时。例如,如果你需要增加一个小时,你只需要做:

$today+3600;

即在先前的时间戳上增加60*60秒。