Вы не можете сравнивать отформатированную дату. Вам следует сравнить временную метку (которая является целым числом), чтобы вы могли сохранить результат strtotime()
и сравнить его с time()
:
echo "<b>Today's Date: </b>".$Currentdate=date("d F Y");//current date
$user_time = strtotime("2013-02-28") ;
$user_date = date("d F Y", $user_time);//date you get from database
if (time() <= $user_time){
echo '<br><b>First Date : </b>'.$first_date = date("d F Y",strtotime('+2 month',strtotime($user_date)));//only if current date is less than user's date
}
else{
echo '<br><b>Second Date : </b>'.$second_date = date("d F Y",strtotime ( '+1 month' , strtotime ( $user_date ) )) ;//only if current date is more than user's date
}
Используя объект DateTime (как указано @Spudley), вы можете использовать операторы сравнения и сохранять временную метку для всей внутренней обработки.
Начиная с PHP 5.2.2, объекты DateTime можно сравнивать с помощью операторов сравнения.
$current_date = new DateTime();
$user_date = new DateTime("2013-02-02");
echo "<b>Today's Date: </b>".$current_date->format("d F Y");//current date
if ($current_date <= $user_date){
$first_date = $user_date->modify('+2 month');
echo '<br><b>First Date : </b>'. $first_date->format("d F Y");//only if current date is less than user's date
}
else{
$second_date = $user_date->modify('+1 month');
echo '<br><b>Second Date : </b>'.$second_date->format("d F Y") ;//only if current date is more than user's date
}