如何检查日期是否过期(PHP)


How to check if a date is expired (PHP)

嗨,我的php脚本有两个文本框(一个表示月份,一个表示年份)。当用户按下提交按钮时,它应该验证输入以查看日期是否已过期。这是我制作的代码,但它似乎没有任何作用。

$input_date = "$_POST['m']/$_POST['y']"; 
$todays_date = date("MM/YY");
if ($input_date < $todays_date)
{
   print '<p class = "error">Date has elapsed</p>';
}

注意:日期格式为MM/YYYY(文本框'm'包含MM,tetxbox'y'包含YYYY)

您可以使用mktime()strtotime()TR

$input_time = mktime(0,0,0,$_POST['m']+1,0,$_POST['y']); 
if ($input_time < time()){
   print '<p class = "error">Date has elapsed</p>';
}

您可能会像这样使用strtotime函数:

$input_date = "$_POST['m']/$_POST['y']"; 
$todays_date = date("m/Y");
if (strtotime($input_date) < strtotime($todays_date)){
print '<p class = "error">Date has elapsed</p>';
}

您可以在这里阅读strtotime可以处理的格式:http://php.net/manual/en/function.strtotime.php

我不相信你能把那些$_POST变量放在引号里。例如,以下代码将崩溃:

<?php
$foo = array("foo" => "bar");
$input = "$foo['foo']";
print $input;
?>

相反,尝试

$input_date = $_POST['m'] . "/" . $_POST['y'];

此外,您可能需要考虑颠倒月份和年份。在目前的方案中,01/13在12/12之前。