PHP: заменить дату строкой - PullRequest
       13

PHP: заменить дату строкой

0 голосов
/ 15 августа 2011

У меня есть строка, содержащая несколько дат (от - до), разделенных «|», пример:

10.10.-29.10.2011 | 1.11.-31.11.2011

Мне нужен код, который будет сравнивать новейшую дату начала («с») (в данном случае 1.11.2011), и если эта дата старше текущей, то заменить всю строку на «ЗАКРЫТО».
Кто-нибудь может мне помочь с этим?

1 Ответ

0 голосов
/ 15 августа 2011

Как то так?

$dates = "10.10.-29.10.2010 | 13.8.-31.11.2011 | 14.8.-31.12.2011";
$datesArr = explode(" | ",$dates);
foreach($datesArr as $k=>$date) {
    $split = explode(".-",$date);
    $from = explode(".",$split[0]); $to = explode(".",$split[1]);
    $from = $from[0].".".$from[1].".".$to[2];
    if(strtotime($from)<time()) unset($datesArr[$k]);
}
if(!empty($datesArr)) {
    if(count($datesArr)==1) $dates = $datesArr[0];
    else {
        $dates = implode(" | ",$datesArr);
    }
}
else $dates = "CLOSED";
echo $dates;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...