2017-05-25 105 views
-1

我有一個名爲'issue'的表,它具有字段名稱日期。我想發行一個項目,但是日期不應早於它被放入另一個名爲'receive'的表格中的日期。基本上我檢查兩個日期,一個是在另一個表中,將由用戶輸入到不同的表中,如果用戶輸入的日期早於接收表上的日期,那麼它會回顯一個錯誤。如何使用日期diff()函數檢查發佈日期是否早於接收日期

+2

你並不需要使用diff來確定一個日期之前或之後另一個。爲每個要比較的日期構造一個DateTime對象,然後使用常規比較運算符(< or >)比較它們。 –

回答

1

從表格中檢索日期時間字符串後,可以創建DataTime對象,它們支持使用自PHP 5.2.2起的標準比較運算符進行比較。在這個

$dateTime1 = new DateTime('2017-05-26 05:30:21'); 
$dateTime2 = new DateTime('2017-05-25 01:02:03'); 

if ($dateTime1<$dateTime2){ 
    //Stuff to do if dateTime1 comes before dateTime2... 
} else { 
    //Stuff to do if dateTime2 comes before or is equal to dateTime1... 
} 

更多信息:PHP DateTime::diff documentation

+0

$ issued_to = mysqli_real_escape_string($ link,$ _POST ['issued_to']); $ issued_date = mysqli_real_escape_string($ link,$ _POST ['issued_date']); $ query =「SELECT date from recieve where asset_id ='$ asset_id'」 $ result = mysqli_query($ conn,$ query); $ details = mysqli_fetch_assoc($ result); if($ details ['date'] <'$ issued_date'); { //執行下一個查詢 } else { echo「invalid issue date」; } //這個工作嗎? – jon

0
` 
$issued_to = mysqli_real_escape_string($link, $_POST['issued_to']); 
$issued_date = mysqli_real_escape_string($link, $_POST['issued_date']); 
$query="SELECT date from recieve where asset_id='$asset_id'" 
$result=mysqli_query($conn,$query); 
$details=mysqli_fetch_assoc($result); 
if($details['date']<'$issued_date'); 
{ 
//execute next query 
}else{ 
echo "invalid issue date"; 
}` //will this work ?? 
相關問題