При циклическом вычитании одного месяца из даты в данный день

Я пытаюсь вычесть один месяц из даты в обратном направлении к данной дате. Код, который я написал, выполняет вычитание, но я не знаю, почему он не завершает цикл. ниже кодовый блок

$date7 = date('Y-m-10');
$lastsaving = date("2013-2-9");


while($lastsaving < $date7){

$newdate = strtotime ( '-1 month' , strtotime ( $date7 ) ) ;
$date7 = date ( 'Y-m-d' , $newdate );


echo $date7;
echo "<br />";
}

результат, который я получаю

2015-05-10
2015-04-10
2015-03-10
2015-02-10
2015-01-10
2014-12-10
2014-11-10
2014-10-10
2014-09-10
2014-08-10
2014-07-10
2014-06-10
2014-05-10
2014-04-10
2014-03-10
2014-02-10
2014-01-10
2013-12-10

пожалуйста, помогите мне найти причину, по которой это не завершает цикл

0

Решение

менять

 $lastsaving = date("2013-2-9");

в

 $lastsaving = date("2013-02-9");

Здесь вы можете увидеть рабочий:
http://codepad.org/uI0R6TvC

Парень выше меня тоже прав 🙂
это тоже сработало бы

while(strtotime($lastsaving) < strtotime($date7)) {

проверено здесь: http://codepad.org/OY36ij3U

2

Другие решения

Вы должны преобразовать их в отметка времени Первый для сравнения. Использование strtotime() за это —

while(strtotime($lastsaving) < strtotime($date7)) { ... // rest of the code
2

Я изменился $lastsaving = date("2013-2-9"); в $lastsaving = date("2013-02-09"); как предложено @Danyal Sandeelo выше

0
По вопросам рекламы [email protected]