我正在尝试设置一个用户注册系统,该系统会创建一个在48小时(2天)后过期的令牌。我试图对此进行编程,但无济于事。当我测试代码时,我收到此错误
遇到PHP错误 严重性:错误
消息:Class' TimeDate'没找到
文件名:models / User_model.php
行号:58
以下是代码
public function isTokenValid($token)
{
$q = $this->db->get_where('tokens', array('token' => $token), 1);
if($this->db->affected_rows() > 0){
$row = $q->row();
$created = $row->created;
$createdTS = strtotime($created);
$expiredate = new TimeDate('Y-m-d');
//$todayTS = strtotime($today);
$expiredate->add(new DateInterval('P2D'));
if($createdTS != $expiredate){
return false;
}
$user_info = $this->getUserInfo($row->user_id);
return $user_info;
}else{
return false;
}
}
答案 0 :(得分:1)
你也可以使用strtotime()
假设:
// the timestamp the token was created
$created = $row->created;
由于令牌将在48小时后过期,我们需要添加48小时的日期变量$created
$expireDate = date("Y-m-d H:i:s", strtotime($created . " + 48 hours"));
如果您只想要日期部分而不是时间,则可以省略H:i:s
您现在可以将$expireDate
与今天的时间戳进行比较。
$today = date("Y-m-d H:i:s");
if (strtotime($today) > strtotime($expire)) {
echo "expired";
} else {
echo "not yet";
}