2016-12-04 38 views
-3

我有兩個日期我想要在他們兩個之間進行比較他們是在同一時間(年/月/日/小時) 我從數據庫獲取時間,其他時間從用戶輸入i已使用在php中的兩個日期之間的比較

$checkdate = strtotime($meetingDate); 
$dateconflicts = strtotime($_SESSION['date']); 

if ($checkdate == $dateconflicts) { 
    $msg = "<div class='alert alert-danger'>there's conflicts !</div>";     
} 

事情是這樣不行,我不知道爲什麼。

+0

'strtotime()'返回一個時間戳,表示您正在比較兩個時間戳。所以除非你給出的日期時間完全相同,否則將失敗。你可能想用日期格式化它,我推薦[DateTime](http://php.net/manual/en/datetime.construct.php)類。 – Qirel

+0

它是回答這個問題:http://stackoverflow.com/questions/8722806/how-to-compare-two-dates-in-php –

+0

'$ _SESSION ['date']'的價值是什麼在這裏?會議開始了嗎?編輯:'$ meetingDate'的值也是什麼? –

回答

0

要忽略秒,從時間只包括年,月,日的整數創建一個字符串,和小時:

$checkdate = date('Y-m-d H', strtotime($meetingDate)); 
$dateconflicts = date('Y-m-d H', strtotime($_SESSION['date'])); 

if ($checkdate == $dateconflicts) { 
    $msg = "<div class='alert alert-danger'>The dates $checkdate and $dateconflicts conflict !</div>"; 
} 
+0

我已經完成了你的解決方案,現在無論如何條件總是如此。 – ziyad

+0

請提供示例數據。 – WEBjuju

+0

@ziyad我更新了'$ msg',這樣你就可以看到你的日期。如果您遇到意想不到的情況,那麼問題可能出現在代碼運行之前的日期。 – WEBjuju

0

如果你正在尋找如何檢查2個日期具有相同的小時:

$date1 = '2016-12-04 20:21:10'; 
$date2 = '2016-12-04 21:50:00'; 

if (date('Y-m-d H', strtotime($date1)) == date('Y-m-d H', strtotime($date2))) { 
    echo 'Same hour'; 
} 
+1

我認爲OP想要同一天,年份和月份。 '他們在同一時間(年/月/日/小時)' – chris85

+0

你是對的@ chris85,我更新了我的答案:) – Max

+1

OP在這裏使用會話'$ _SESSION ['date']'所以我們不知道如果該數組包含一個值或者不包含它的值,那麼是任何人的猜測。 –