Я пытаюсь вычесть один месяц из даты в обратном направлении к данной дате. Код, который я написал, выполняет вычитание, но я не знаю, почему он не завершает цикл. ниже кодовый блок
$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
пожалуйста, помогите мне найти причину, по которой это не завершает цикл
менять
$lastsaving = date("2013-2-9");
в
$lastsaving = date("2013-02-9");
Здесь вы можете увидеть рабочий:
http://codepad.org/uI0R6TvC
Парень выше меня тоже прав 🙂
это тоже сработало бы
while(strtotime($lastsaving) < strtotime($date7)) {
проверено здесь: http://codepad.org/OY36ij3U
Вы должны преобразовать их в отметка времени Первый для сравнения. Использование strtotime()
за это —
while(strtotime($lastsaving) < strtotime($date7)) { ... // rest of the code
Я изменился $lastsaving = date("2013-2-9");
в $lastsaving = date("2013-02-09");
как предложено @Danyal Sandeelo выше