我正在使用日期選擇器來存儲用戶選擇的unix/PHP時間戳。PHP日期(ymd)比較錯誤
我剛剛注意到,在我試圖打印$current_date
並將其與$_date_compare
進行比較...僅供參考這是WordPress代碼,但問題與WordPress無關。
所以,這被說這裏是相關的代碼片段:
$current_date = date('ymd');
$recentPosts = new WP_Query();
$recentPosts->query(array(
'category_name' => 'events',
'meta_key' => '_date_compare',
'meta_compare' => '>=',
'meta_value' => $current_date,
'orderby' => 'meta_value',
'order' => 'ASC',
'posts_per_page' => 99
));
出於某種原因,結果爲2005年1月1日是打印50101(離開了前導零,這混淆了我,因爲我使用date('ymd');
格式的日期
儘管如此,經過一些仔細的想法,我意識到這是一個非問題,我試圖排序所有事件的值比$current_date
高,但查詢返回Jan 01 2005年在HIGHER的日期比$current_date
查詢。
在寫這篇文章時,今天是 date('ymd')
格式。爲什麼在我的查詢中返回,該查詢檢查的值是高於而不是110523?!
編輯你可以在這裏查看問題:http://anasmadance.com/past-events-2/ - 略高於盒意思是ymd
格式的日期,這是早期的日期正確打印的數字,但不正確的那些在底部該頁面(應該從查詢中省略,因爲它們已經過去,因此小於它們的比較值)
你試過將類型的值轉換爲int嗎? – 2011-05-24 02:18:20
PHP可能會轉換爲數值並修剪前導零,但在一個示例中,它似乎不會自動執行此操作。 http://codepad.org/ePpg7Cuf – 2011-05-24 02:19:49
你嘗試過''meta_value'=>「$ current_date」嗎? – 2011-05-24 02:22:15