public static function createFromDateInterval(\DateInterval $interval) { $obj = new self('PT0S'); foreach ($interval as $property => $value) { if ($property == "days") { if ($value != -99999) { $obj->monthDays = $value; } } else { $obj->{$property} = $value; } } $obj->calculateTotals(); return $obj; }