我有一个场景,管理员在站点中注册了有效的用户详细信息结束日期。在登录过程中,脚本应该验证它是否超过了结束日期。
我可以尝试使用这个代码,
$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秒。