我需要使用数据库日期验证输入日期。请帮助..
Issue_date = 09-03-2015
return_date = 06-03-2015
我需要我的代码从数据库中选择Issue_date并与return_date匹配...如果return_date< Issue_date然后显示错误..
这只接受如果Issue_date和return_date相同或者return_date大于Issue_date
public function date_validation($book,$return_date)
{
$errors=array();
$exists = $this->datab->prepare("SELECT issue_date FROM book_issue WHERE book_no = :book_no");
$exists->execute(array(':book_no' => $book));
$num_rows = $exists->fetch();
if($return_date < $num_rows['issue_date'])
{
$errors['Message'] = "Plz Select Return Date Greater Than Book Issue Date.";
}
return $errors;
}
答案 0 :(得分:1)
使用the DateTime
class,您可以使用比较运算符:
$return_date = new DateTime($return_date);
$issueDate = new DateTime($num_rows['issue_date']));
if ($return_date < $issueDate) {
}
完成工作。作为额外的好处,您可以强制函数的调用者使用类型提示将有效日期传递给您的函数:
function dateValidation($book, DateTime $returnDate)
{
//this function can only be called if $returnDate was an instance of DateTime
}
要显示实际日期,只需使用DateTime::format
,然后使用您想要的格式:
echo $date->format('Y-m-d H:i:s');//yyyy-mm-dd hh:mm:ss
echo $date->format('d/m/y');//dd/mm/yy