如何比较特定时间戳在20到60年之间的时间戳?

时间:2016-03-10 13:12:30

标签: php mysql wordpress

我在数据库中有一个字段用于以时间戳格式存储用户的出生日期,现在我想添加一个搜索过滤器,其中只显示那些用户在两个最小或最大限制之间的出生日期。例如。 minimum=20 yearsmaximum=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) ));

1 个答案:

答案 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);