我如何在PHP中知道用户在将来输入的日期而不是当前日期。
即
if($current_date<$future_date)
{
//do all the success actions here
}
else
{
//show the user that they have selected a date in the past.
}
答案 0 :(得分:1)
您首先需要使用strtotime()函数转换日期字符串,然后检查未来日期值是否大于当前日期值。
以下是代码段:
$today_date=date('Y-m-d H:i:s');
$current_date=strtotime($today_date);
$future_date=strtotime($future_date);//retrieved from user's input
现在您可以调用您的函数:
if($current_date<$future_date)
{
//do all the success actions here
}
else
{
//show the user that they have selected a date in the past.
}
答案 1 :(得分:0)
我想您知道用户输入日期的日期格式,因为它可以帮助您了解您将使用的日期格式。但无论您使用何种日期格式,您都可以使用以下方法将其转换为更合适的格式:
strtotime()
以下是检查未来日期(严格按日期工作)的示例
$currentDate = date("Y-m-d");
$userFututeDate = "2014-05-08";
if($userFututeDate > $currentDate){
echo 'You have selected a date in the future';
}
else{
echo 'You have selected a date in the past.';
}
以下是检查未来日期(使用日期和时间)的另一个示例
$currentDateTime = date("Y-m-d H:i:s");
$userFututeDateTime = "2014-05-07 05:05:08";
if($userFututeDateTime > $currentDateTime){
echo 'You have selected a date in the future';
}
else{
echo 'You have selected a date in the past.';
}
也许,你需要了解如何使用strtotime(),找到下面的一些示例:
$dateVar = "25-07-2014 05:05:08";
echo date("F j Y", strtotime($dateVar));
echo '<br><br>';
echo date("Y-m-d", strtotime($dateVar));
echo '<br><br>';
echo date("F jS Y, g:i a", strtotime($dateVar));