我正在寻找一种比较精益的方法来比较两次。一个是时间,有人要求一个新密码(FOS UserBundle 为此提供了一个 Getter),另一个是当前时间减去例如 10 分钟。
if($user->getPasswordRequestedAt() <= date("Y-m-d H:i:s", strtotime('-10 minutes'))){
return $this->render('@User/Resetting/no_resend.html.twig', array( 'username' => $username));
}
else {
return $this->render('@User/Resetting/check_email.html.twig', array(
'tokenLifetime' => ceil($this->container->getParameter('fos_user.resetting.retry_ttl') / 60),
));
因此,如果有人在 10 分钟前已经请求密码,他会进入“您已经请求密码,请等待 10 分钟重试”的页面。如果请求的时间超过 10 分钟,页面会显示“密码重置电子邮件已发送”。
我认为这种比较是正确的,但它总是以某种方式进入“其他”部分。
哪里错了?