将今天的日期时间与创建的日期进行比较

时间:2016-06-11 22:17:34

标签: php mysql date

我被困了,一直在阅读几个关于比较日期和日期时间的地方,但仍然无法弄清楚如何去做,任何可以帮助我的人都很好吗?

事实是我正在构建一个会员数据库,当用户注册一个帐户时,它会将日期时间插入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 */ 
}

感谢所有帮助或以正确的方式指出。

2 个答案:

答案 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年。