我被困了,一直在阅读几个关于比较日期和日期时间的地方,但仍然无法弄清楚如何去做,任何可以帮助我的人都很好吗?
事实是我正在构建一个会员数据库,当用户注册一个帐户时,它会将日期时间插入SQL,而该会员资格只能持续1年。 因此,用户可以访问用户注册的1年页面。
在阅读时发现这一点,但不确定如何检查用户是否仍然可以从注册的用户进行访问。 (365天)
$today = date("Y-m-d H:i:s");
$expire = $isCreated; //from db
$today_time = strtotime($today);
$isCreated_time = strtotime($isCreated);
if ($isCreated_time < $today_time) {
/* has access*/
} else {
/* no access */
}
感谢所有帮助或以正确的方式指出。
答案 0 :(得分:2)
您需要找到创建日期和今天日期之间的差异,并确保差异不超过365天才能授予成员资格。
这是在PHP中查找两个日期之间的日期的函数:
$now = time();
$your_date = strtotime($isCreated);
$datediff = $now - $your_date;
echo floor($datediff / (60*60*24) );
因此在函数内部进行上述操作将是这样的:
function howLong($created) {
$now = time(); // or your date as well
$your_date = strtotime($created);
$datediff = $now - $your_date;
return floor($datediff / (60*60*24) );
}
现在您可以查看:
if (howLong($isCreated) > 365)
echo "Membership Over";
else
echo "Membership Active";
答案 1 :(得分:1)
如果$isCreated
比实际注册日期多1年,则此代码应该有效。比如说:
我今天在12-06-2016
注册,$expire
应该存储为12-06-2017
。
然后你可以检查$ expire是否高于今天的日期,这应该是1年。