Подскажите как лучше сделать. Задача: имею кол-во месяцев. Нужно вывести дату в формате YYYY-mm-dd, отсчитав указанное кол-во месяцев с данного момента. Я подозреваю что есть функция выполняющая это, но к сожалению не нашла ее. Поэтому сделала так: Код (Text): <? $warkuud="41"; $yearspl= $warkuud / 12; $yearsplit= floor($yearspl); $monthpl= $warkuud - ($yearsplit*12); $yearnow=date("Y"); $kehyear=$yearnow+$yearsplit; $monthnow=date("m"); $kehmonth=$monthnow+$monthpl; $day=date("d"); if($kehmonth > 12) $kehyearcomp=$kehyear + 1; $kehmonthcomp=$kehmonth - 12; } else { $kehyearcomp=$kehyear; $kehmonthcomp=$kehmonth; } if($kehmonthcomp < 9) { echo $kehyearcomp.".0".$kehmonthcomp.".".$day; } else { echo $kehyearcomp.".".$kehmonthcomp.".".$day; } ?> Однако это не решение проблемы, так как мне нужно не просто вывести дату а сохранить ее в базу данных в формате YYYY-MM-DD. Просьба не пинать за такое решение - но я совсем еще начинающая в PHP, поэтому на что моих знаний хватило, то и сделала. Буду признательна любым вашим комментариям и советам.
Для операций с датой лучше использовать дату в формате Unix Timestamp (это количество секунд, прошедшие с 1970 года). Чтобы перевести обычную дату в timestamp, воспользуйтесь функцией mktime(), далее операции с датой и получение нужного формата времени через функцию date.
PHP: <?php $warkuud=41; $time = mktime(date("H"), date("i"), date("s"), date("m")+$warkuud); echo date("Y-m-d",$time); ?> Сойдёт?