我在数据库中有一个字段用于以时间戳格式存储用户的出生日期,现在我想添加一个搜索过滤器,其中只显示那些用户在两个最小或最大限制之间的出生日期。例如。 minimum=20 years
和maximum=60 years
。我如何将时间戳日期与这两个参数进行比较?
我试用了wordpress
wp_query
,如下所示:
$current = time();
$age_min = strtotime(date('Y')-$_REQUEST['age_min']);
$age_max = strtotime(date('Y')-$_REQUEST['age_max']);
//echo $age_min.'==='.$age_max;
$age = array($age_min,$age_max);
$bars = explode(',',$_REQUEST['bars']);
$radius = $_REQUEST['radius'];
$args = array('orderby' => 'registered',
'meta_key' => 'active',
'meta_value' => '1',
'order' => 'ASC',
'count_total' => true,
'meta_query' => array(array('key' => 'date_of_birth',
'value' => $age,
'compare' => 'BETWEEN',
'type' => 'DECIMAL',),));
$user_query = new WP_User_Query(array($args,'exclude'=>array($user_id) ));
答案 0 :(得分:0)
将strtotime
转换回Min和Max值中的日期:
我已将其转换回Y-m-d,您可以将其转换为已使用的DOB
$age_min = strtotime(date('Y')-$_REQUEST['age_min']);
$age_max = strtotime(date('Y')-$_REQUEST['age_max']);
//echo $age_min.'==='.$age_max;
$age_min = date('Y-m-d', $age_min);
$age_max = date('Y-m-d', $age_max);
然后将其传递给数组:
$age = array($age_min,$age_max);