Cakephp2过滤日期过去

时间:2016-11-19 16:06:11

标签: php cakephp cakephp-2.0

我想知道是否可以:

我有一些字符串(10.07.2016-17.07.2016,19.07.2016-21.07.2016,22.07.2016-29.07.2016等...) 日期由","分开。所以现在我想用","。

分隔日期数组

结果我将使用这个数组创建选择下拉列表,因此用户可以选择数据,例如(非常通用,不是cakephp风格,但仅仅是为了理解我的问题):

<select>
   <option>10.07.2016-17.07.2016</option>
   <option>19.07.2016-21.07.2016</option>
   <option>22.07.2016-29.07.2016</option>
</select>

但现在我想知道 - 我怎么能先过滤这些数据来删除过去的日期? 让我们说我的日历是11.07.2016,所以我不应该在选择中看到这个?

所以,我的问题是 - 这可能吗?如果是,我该如何过滤这些数据?首先使用某个函数过滤数组,或者当我将在表单中生成选择?

感谢您的想法。

1 个答案:

答案 0 :(得分:1)

首先将字符串转换为数组,

$myString = "10.07.2016-17.07.2016, 19.07.2016-21.07.2016";
$myArray = explode(', ', $myString);

然后使用foreach检查日期是否在过去

foreach($myArray as $element) {
    if(strtotime($element)>strtotime("now")){
       $futureDates[] = $element;
    }
}

那么你只有未来的回音日期 <select><option>...</option><option>...</option></select>