如何以今天,明天,昨天的形式获得生日?

Sar*_*ane 1 php

我希望以"今天","明天","昨天"的形式获得生日日期.

  • 如果候选人生日是在1991年7月26日那么应该打印'昨天'

  • 如果候选人生日是在1991年7月27日那么应该打印"今天".

  • 如果候选人生日将于1991年7月28日生日,那么应该打印"明天".

 $current = strtotime(date("Y-m-d"));
 $date    = strtotime("2014-07-24");

 $datediff = $date - $current;
 $difference = floor($datediff/(60*60*24*365));
 if($difference==0)
 {
 echo 'today';
 }
 else if($difference > 1)
 {
 echo 'Future Date';
 }
 else if($difference > 0)
 {
 echo 'tomarrow';
 }
 else if($difference < -1)
 {
 echo 'Long Back';
 }
else
{
echo 'yesterday';
}  
Run Code Online (Sandbox Code Playgroud)

u_m*_*der 5

也许有点复杂的解决方案,但在这里我比较月数和日期数:

$current_month = date("n");
$current_day = date("j");

// date of birth
$dob = strtotime("1991-07-26");
$dob_month = date("n", $dob);
$dob_day = date("j", $dob);

if ($current_month == $dob_month) {
    if ($current_day == $dob_day) {
        echo 'TODAY';
    } elseif ($current_day == $dob_day + 1) {
        echo 'YESTERDAY';
    } elseif($current_day == $dob_day - 1) {
        echo 'TOMORROW';
    } else {
        echo 'IN this month';
    }
} elseif ($current_month < $dob_month) {
    echo 'In future';
} else {
    echo 'Long back';
}
Run Code Online (Sandbox Code Playgroud)