2013-10-08 51 views
0

我從我的MySQL數據庫:MySQL的日期變量,正態變量

$event_date -> (mysql query get database from events) 2013-10-09 

在可變我

$var_date = "2013-10-09" 

if ($event_date == $var_date) { 
bla bla (but this doesn't work) 
} 
我記得有這個問題,其他網站

,但我不記得了。即使數據庫中包含相同的數據,數據庫中的數據查詢也不等於正常變量。我怎樣才能使它像轉換爲相同的格式?

謝謝你的世界。

編輯:當我回聲他們,他們是完全一樣的。

+1

什麼'的var_dump($ EVENT_DATE)的輸出;後續代碼var_dump($ var_date);'?編輯:我不知道這是否是你的實際代碼,但'$ var_date = 2013-10-09'是無效的,應該拋出一個致命的錯誤。 – TheWolf

+0

您是否缺少'$ var_date'定義的引號?現在寫入的方式,'$ var_date'將保存一個整數值'1994'。 –

+0

我忘了我的引號,當我回應他們兩個,他們是完全一樣的,但我不知道爲什麼它不工作,沒有任何職位工作 –

回答

0

這裏是我用來比較日期的函數,因爲它們可以有很多不同的格式,比如年份第一或年份或者兩位數年份。它在同一日期/時間返回0,如果$ a小於$ b則返回-1,如果$ b小於$ a則返回1。

function compareDates($a, $b) { 
    if(!is_int($a) && !ctype_digit($a)) { 
    $a = strtotime($a); 
    } 
    if(!is_int($b) && !ctype_digit($b)) { 
    $b = strtotime($b); 
    } 
    if($a > $b) { 
    return 1; 
    } 
    if($a < $b) { 
    return -1; 
    } 
    return 0; 
} 
2
$var_date = "2013-10-09"; 

if (trim($event_date) == trim($var_date)) { 

}