我有一组日期字符串:
Array
(
[0] => 2014-03-24
[1] => 2014-03-18
[2] => 2014-06-08
[3] => 2014-08-21
[4] => 2014-09-11
)
我想使用array_filter函数过滤掉特定月份和年份之前的所有条目:
array_filter($array, "newer_than");
function newer_than($var)
{
return (strtotime($var) > CURRENT MONTH AND YEAR);
}
任何帮助将不胜感激
由于
答案 0 :(得分:5)
strtotime()
非常聪明,可以获得当月的UNIX时间戳:
$thisMonth = strtotime('first day of ' . date('F Y'));
$array2 = array_filter($array1, function ($val) use ($thisMonth) {
return strtotime($val) > $thisMonth;
});
答案 1 :(得分:1)
如果您想指定不是当前月份和年份的月份和年份,您可以执行以下操作:
<?
$array[] = "2014-03-24";
$array[] = "2014-03-18";
$array[] = "2014-06-08";
$array[] = "2014-08-21";
$array[] = "2014-09-11";
$array = array_filter($array, "newer_than");
function newer_than($var)
{
$specificMonth = 8;
$specificYear = 2014;
return (strtotime($var) > mktime(0,0,0,$specificMonth,1,$specificYear) );
}
?>