PHP中的年份比较 if($\u POST['syear'])){ $compy=strottime($_POST['syear']); 如果(日期)你可以试试 if($_POST['syear']){ $compy = strtotime($_POST['syear']); if(date("Y") <= date("Y", $compy)){ //success $startdate = $_POST['syear']; } else{ $error = 6; } } 如果(time()

PHP中的年份比较 if($\u POST['syear'])){ $compy=strottime($_POST['syear']); 如果(日期)你可以试试 if($_POST['syear']){ $compy = strtotime($_POST['syear']); if(date("Y") <= date("Y", $compy)){ //success $startdate = $_POST['syear']; } else{ $error = 6; } } 如果(time(),php,date,if-statement,comparison,Php,Date,If Statement,Comparison,您可以尝试 if($_POST['syear']){ $compy = strtotime($_POST['syear']); if(date("Y") <= date("Y", $compy)){ //success $startdate = $_POST['syear']; } else{

您可以尝试

        if($_POST['syear']){
            $compy = strtotime($_POST['syear']);
            if(date("Y") <= date("Y", $compy)){
                //success
                $startdate = $_POST['syear'];
            }
            else{
                $error = 6;
            }
        }

if(time()PHP很好地处理字符串比较,您是否直接尝试过?(并将比较顺序更改为>=)


PHP很好地处理字符串比较,您是否直接尝试过?(并将比较顺序更改为>=)


您不能简单地将一年转换为时间。按原样使用示例,您需要一个yyyy/mm/dd格式的字符串才能使用strotime。如果您确实只是在检查年份,则可以使用1月1日作为检查日期

if($_POST['syear']){
    if(date("Y") >= $_POST['syear']){
        $startdate = $_POST['syear'];
    }else{
        $error = 6;
    }
}

您不能简单地将一年转换为时间。按原样使用示例,您需要一个yyyy/mm/dd格式的字符串才能使用strotime。如果您确实只是在检查年份,则可以使用1月1日作为检查日期

if($_POST['syear']){
    if(date("Y") >= $_POST['syear']){
        $startdate = $_POST['syear'];
    }else{
        $error = 6;
    }
}

您可以用同样的方法比较整数或字符串。如果您想确定类型比较,您可以始终强制转换变量,但在这种情况下,它是没有意义的。
2012次于2013。“2012”次于“2013”。日期('Y')返回一个4个字符的字符串,您可以将其与您的$\u帖子['syear']进行比较如果是4个字符的字符串。希望这有帮助。

您可以用同样的方法比较整数或字符串。如果您想确定类型比较,您可以始终强制转换变量,但在这种情况下,它是没有意义的。
2012不如2013。“2012”不如“2013”。date('Y')返回一个4个字符的字符串,如果它是4个字符的字符串,你可以将它与你的$_POST['syear']进行比较。希望这能有所帮助。

var_dump($_POST['syear'],$compy);
--始终检查变量中的实际值,不要用闭眼字符串(4)“2013”进行编程(1342638780)那么我需要如何设置strotime来获得可读格式的一年呢?
var\u dump($\u POST['syear',$compy);
——始终检查变量中的实际值,不要闭眼编程string(4)“2013”int(1342638780)那么,我需要设置什么来获得可读格式的年份呢?不是答案。
date(“Y”,time())
date(“Y”)之间没有区别
我认为你的答案实际上是可行的,从它的声音判断,另一个仍然是小数字vs时间戳,添加到strottimezerkms后,它引用了我的原始答案,并可能在过程中对其进行了否决。我已经编辑了它,这应该在概念上可行,取决于你的总体做法,但如果你的初始值y使用strotime将其转换为unix时间戳,然后将其与另一个时间戳进行比较是您的最佳选择,即使在从中添加/减去时间时也是如此,只要时间戳保持有效且不过期,那么这里是2013年和当前时间()---int(1342638780)1342649328根据我关于过时的说法,应该没问题的是,在什么是有效时间戳和什么不是之间有一个特定的允许范围1.我记不起到底是什么,尽管没有回答。
date(“Y”,time())
date(“Y”)之间没有区别
我认为你的答案实际上是可行的,从它的声音判断,另一个仍然是小数字vs时间戳,添加到strottimezerkms后,它引用了我的原始答案,并可能在过程中对其进行了否决。我已经编辑了它,这应该在概念上可行,取决于你的总体做法,但如果你的初始值y使用strotime将其转换为unix时间戳,然后将其与另一个时间戳进行比较是您的最佳选择,即使在从中添加/减去时间时也是如此,只要时间戳保持有效且不过期,那么这里是2013年和当前时间()---int(1342638780)1342649328应该没问题,根据我关于过时的声明,可以说,在有效时间戳和无效时间戳之间有一定的允许范围。我不记得我脑子里到底是怎么想的了,谢谢。检查一年来设置自动版权页脚日期。哦,我刚刚注意到我使用了“/”当我应该使用“-”作为日期分隔符时。好的,谢谢。检查年份以设置自动版权页脚日期。哦,我刚刚注意到我应该使用“-”时使用了“/”对于日期分隔符。谢谢,我想我试过了,但是用另一种方法比较,我得到了相同的结果,你的答案有效,谢谢,谢谢,我想我试过了,但是用另一种方法比较,我得到了相同的结果,你的答案有效,谢谢