我正在使用下面的查询来获取基于使用 UNIX 时间戳的开始和结束日期的帖子。
目前,仅当开始时间发生在今天之后时,它才会返回结果。例如,如果是下午 5:00,开始日期是下午 6:00,则不会选取它。我希望它考虑今天的任何时间(从昨晚午夜到今晚午夜)作为开始日期。
有人可以告诉我如何更新我的代码以使其工作吗?
$current_time
等于1305132894
,即今天的美国东部时间5:54。
'meta_query' => array(
array(
'key' => 'start_date',
'value' => $current_time,
'compare' => '<'
),
array(
'key' => 'end_date',
'value' => $current_time,
'compare' => '>'
)
)
如果你只需要它今天工作,你可以使用:
$minDate = strtotime('midnight today');
$maxDate = strtotime('midnight tomorrow -1 second');
或者
$minDate = mktime(0,0,0);
$maxDate = mktime(11,59,59);
mktime()
和strtotime()
的某种组合应该有效。
考虑您的示例:$current_time = 1305132894
这应该回答您的问题:
$date_current = date("Y-m-d",1305132894); //2011-05-11
$date_midnight = strtotime($date_current . "00:00:00"); //1305061200 that means: 2011-05-11 00:00:00
因此,将$current时间替换为 $date_午夜,您将在今天从昨晚午夜开始的任何时间。