Существует две даты, одна хранится в значение int и переводится в дату при выводе, другая это просто дата. Первая показывает дату начала использования сервиса, и она статична. Проблема со второй. Надо, чтобы эта дата продлялась на месяц, два или три, относительно первой даты( то есть если началось 5 января, то и продлить до 5 февраля). Но не знаю, как передать значение одной даты в другую, чтобы она высчитывала. И как сделать так, чтобы даже спустя несколько месяцев, дата продлялась на нужное число, месяц, два и ТД.
Nertyk, Тут бы неплохо усвоить факт, что в PHP нет значений DATE, TIME, DATETIME, какие есть у базы данных. В PHP мы получаем либо string, либо integer. Однозначно, все дальнейшие движения нужно делать с тем, что integer.
Если ты точно знаешь как выглядит строка времени, которую нужно преобразовать, преобразуй её при помощи DateTime::createFromFormat.
/* Вот ты получил уже Timestamp */
$dates = DateTime::createFromFormat ('j-M-Y',$userSettings->date_subscription);
/* Теперь тебе не надо уже преобразовывать из строки время, так как оно уже есть в $dates. Теперь просто прибавляй месяц. */
$dates->modify('+1 month');
echo $dates->format('j-M-Y'); //Получаешь обратно свою строку +1 месяц