我在使用date("Y-m-d h:i:s", strtotime("+2 minutes"))
保存的文本文件中有数据,我需要检查它是否在10分钟前完成。我尝试使用以下代码,但即使超过10分钟,它也不会打印任何内容。
$now = date("Y-m-d h:i:s", strtotime("now"));
if($now > strtotime($old_data))
echo 'expired!';
答案 0 :(得分:7)
您将格式化的日期与时间戳进行比较,以解释无效的原因
这里:
$now = strtotime("-10 minutes");
if ($now > strtotime($old_data) {
echo 'expired!';
}
答案 1 :(得分:1)
您应该更改以下任一项:
$now = strtotime(date("Y-m-d h:i:s", strtotime("now")));
或
if (strtotime($now) > strtotime($old_data))
我会选择第二个。您正在比较日期的时间戳,这就是您不满足if()
条件的原因。
此外,如果您只关注当前时间戳,也可以使用time()
。
$now = time();
或
$now = date("Y-m-d h:i:s", strtotime("now")); // Remove this line
if(time() > strtotime($old_data)) // Change $now with time()