2017-08-12 113 views
0

我在一個問題,我需要幫助,因爲經過研究,我還沒有找到解決方案..我必須在PHP中比較兩個日期,現在的日期與數據庫中的日期。PHP比較兩個日期不工作

寫這篇:

strtotime(Date("d/m/Y H:i")) 

正確的返回當前時間戳。 但是寫這個:

strtotime($m['start_date']) 

工作,但與時間戳小於當前的時間戳但是$ M響應[「起始日期」]從數據庫,它是這樣的:「2017年8月23日11:00: 00「... 2017-08-23 11:00:00這個時間戳不可能是現在的時間戳! 而怪異的是,如果我這樣寫:23/08/2017 11:00:與我傳遞給格式字符串的正確日期

Date("d/m/Y H:i",strtotime($m['start_date'])) 

它的響應。怎麼可能?我必須比較兩個時間戳,但輸出結果是今天明天... 我測試了很多解決方案,但根本不工作。我曾嘗試也以這樣寫:

strtotime(Date("d/m/Y H:i",strtotime($m['start_date']))) 

但沒有什麼回報,0 我也試圖把第二,但結果是一樣的。

我從兩個日期的所有愚蠢的比較,幫助我! 今天我肯定討厭與日期

+0

如果的strtotime的'值(日期( 「d /米/ YH:I」))''是然後1512756000' 1分鐘後它會'1512756060'小於先前 – C2486

+0

這裏的人回答了你的問題,但我認爲你會對Carbon PHP的工作結果非常滿意 - 它是爲使用日期而設計的庫。 – piotr

回答

1

如果您試圖比較兩個時間戳爲什麼不使用time()函數,並比較它是否小於,大於或等於從數據庫接收到的值的時間戳通過使用strtotime($m['start_date'])例如

$db_time = strtotime($m['start_date']); 
if (time() > $db_time) { 
    /** 
    ** YOUR CODE 
    **/ 
} 
+0

是的,它現在工作!謝謝!但我不知道爲什麼strtotime(日期(「​​d/m/YH:我」))不返回當前的時間戳。 – Riccardo

+0

@Riccardo我認爲這是因爲你使用的格式是'date('d/m/YH:i')'所以請檢查[這裏](http://php.net/manual/en/datetime.formats.php)支持的日期時間格式 – kellymandem