我有日期的格式爲:比較日期,只顯示未來事件:PHP
June 22, 2012
使用PHP的日期功能我得到的日期,像這樣:
如果使用聲明我比較兩個希望消除所有已經通過的日期:
if(date("F j, Y") > $date)
然而,它的工作,但離開除了一個日期:
February 14, 2012
有人可以解釋爲什麼或告訴我一個更好的方法來做到這一點?
我有日期的格式爲:比較日期,只顯示未來事件:PHP
June 22, 2012
使用PHP的日期功能我得到的日期,像這樣:
如果使用聲明我比較兩個希望消除所有已經通過的日期:
if(date("F j, Y") > $date)
然而,它的工作,但離開除了一個日期:
February 14, 2012
有人可以解釋爲什麼或告訴我一個更好的方法來做到這一點?
date()返回一個字符串,所以在你的情況下,它只返回大於字符串「2012年6月22日」的字符串。嘗試在你的約會使用strtotime()()調用,e.g
$today = strtotime($todays_date);
這將需要()的返回日期時間字符串,並將其轉換爲UNIX時間戳,你可以用它來比較日期。
非常感謝!它令人驚訝,當你疲倦的時候你會忽略它 – 2012-07-17 05:21:44
很高興幫助....我確切地知道你的意思:) – ply 2012-07-17 05:37:53
http://stackoverflow.com/questions/7038484/how-to-compare-two-dates-in-php-and-echo-newer-one?lq=1 – 2012-07-17 04:51:26
不要比較字符串,你會因爲F在字母D之後出現,所以「2012年2月」這樣的愚蠢行爲會比「2012年12月」更大。比較原生的PHP時間戳 - 簡單的整數。 – 2012-07-17 04:52:48