<?php
function getLastDeliveryDate($timestamp,$endOfMonth=true,$extraMonth=0){
$days = 0;
$extraDays = 0;
$endOfCurrentMonth = 0;
$tag = 86400;
if($endOfMonth){
$endOfCurrentMonth = date("t", $timestamp) - date("d",$timestamp); }
$date = new DateTime
(date("Y-m-d", $timestamp)); for($i=0;$i<$extraMonth;$i++){
$date->modify("+1 month");
$extraDays += $date->format("t");
//$str .= "(" . $date->format("t") . ") ";
}
$days = $endOfCurrentMonth + $extraDays;
return date("d.m.y", $timestamp + ($tag*$days)) . " $days";
}
echo getLastDeliveryDate(1436911200, false);
PD9waHAKCmZ1bmN0aW9uIGdldExhc3REZWxpdmVyeURhdGUoJHRpbWVzdGFtcCwkZW5kT2ZNb250aD10cnVlLCRleHRyYU1vbnRoPTApewogICAgCiAgICAkZGF5cyAgICAgICAgICAgICAgID0gMDsKICAgICRleHRyYURheXMgICAgICAgICAgPSAwOwogICAgJGVuZE9mQ3VycmVudE1vbnRoICA9IDA7CiAgICAkdGFnICAgICAgICAgICAgICAgID0gODY0MDA7CiAgICAKICAgIGlmKCRlbmRPZk1vbnRoKXsKICAgICAgICAkZW5kT2ZDdXJyZW50TW9udGggPSBkYXRlKCJ0IiwgJHRpbWVzdGFtcCkgLSBkYXRlKCJkIiwkdGltZXN0YW1wKTsKICAgIH0KICAgIGRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoJ0V1cm9wZS9CZXJsaW4nKTsKICAgICRkYXRlID0gbmV3IERhdGVUaW1lKGRhdGUoIlktbS1kIiwgJHRpbWVzdGFtcCkpOwogICAgZm9yKCRpPTA7JGk8JGV4dHJhTW9udGg7JGkrKyl7CiAgICAgICAgJGRhdGUtPm1vZGlmeSgiKzEgbW9udGgiKTsKICAgICAgICAkZXh0cmFEYXlzICs9ICRkYXRlLT5mb3JtYXQoInQiKTsKICAgICAgICAvLyRzdHIgLj0gIigiIC4gJGRhdGUtPmZvcm1hdCgidCIpIC4gIikgIjsKICAgIH0KICAgIAogICAgJGRheXMgPSAkZW5kT2ZDdXJyZW50TW9udGggKyAkZXh0cmFEYXlzOwogICAgCiAgICByZXR1cm4gZGF0ZSgiZC5tLnkiLCAkdGltZXN0YW1wICsgKCR0YWcqJGRheXMpKSAuICIgJGRheXMiOwogICAgCn0KCmVjaG8gZ2V0TGFzdERlbGl2ZXJ5RGF0ZSgxNDM2OTExMjAwLCBmYWxzZSk7