Я использую средство выбора даты для хранения метки времени Unix / PHP, выбранной пользователем.
Я только что заметил, что при попытке напечатать $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
));
По какой-то причине результатом для 01 января 2005 года является печать 50101 (без начального нуля, что меня смущает, поскольку я использую формат date('ymd');
для даты.
Тем не менее, после некоторой тщательной мысли я понял, что это не проблема. Я пытаюсь отсортировать все события, которые имеют значение HIGHER, чем $current_date
, но запрос возвращает дату 01 января 2005 года в запросе HIGHER, чем $current_date
.
На момент написания этой статьи сегодня был 110523 в формате date('ymd')
. Почему 50101 возвращается в моем запросе, который проверяет значения, которые на выше , чем 110523?!
РЕДАКТИРОВАТЬ Вы можете просмотреть проблему здесь: http://anasmadance.com/past-events-2/ - числа, напечатанные непосредственно над полями, должны быть ymd
отформатированными датами, которые являются правильными для ранних дат, но неверно для тех, которые находятся внизу страницы (которые должны быть пропущены в запросе, так как они прошлые и, следовательно, меньше значения, с которым они сравниваются)