我怎么知道假期过去了(每年)?

时间:2012-08-14 01:32:42

标签: php math date

假设我想创建一个网站,检查我的生日是否过去了,我可以轻松地做到

    <?php
if( strtotime("2012-10-21") < time() ){
    echo "Birthday has passed";
    } else {
        echo "Birthday hasn't passed";
    } 
?>

但这只会占一年,而不是每年都会。 有谁知道怎么做?

3 个答案:

答案 0 :(得分:2)

<?php
    if (strtotime("21 October")<time()) {
        echo "Birthday has passed";
    } else {
        echo "Birthday hasn't passed";
    } 
?>

只需将 10月21日传递给strtotime(),即可自动返回当前年份的UNIX时间戳。

答案 1 :(得分:0)

使用mktime,只需将年份参数留空以使用当前年份。

if (mktime(1, 1, 1, 10, 21) < time()) {
    ...
}

http://php.net/manual/en/function.mktime.php

答案 2 :(得分:-1)

PHP手册:mktime

if(mktime(23, 59, 59, $birthdayDate, $birthdayMonth) < time())
{
    //Birthday has passed
}

编辑:我使用了23,59,59,所以它不会说生日已经过去,而它仍然是生日