?? It's important to remember the warning about DateInterval given by "admin at torntech dot com" in an earlier comment (http://php.net/manual/en/dateinterval.construct.php#116750). To reiterate:
Some versions of PHP (e.g., 5.6.31) have a bug that disallows fractional parts in a ISO 8601 duration string given as the argument for the DateInterval constructor. That is, these examples will fail:
<?php
// 'P0.5Y' is valid according to ISO 8601
$interval = new DateInterval('P0.5Y'); // Throws exception
?>
<?php
// 'PT585.829S' is valid according to ISO 8601
$interval = new DateInterval('PT585.829S'); // Throws exception
?>
If this bug affects you, please go to the report for this bug in the PHP Bug Tracking System, and place a vote stating that it affects you: https://bugs.php.net/bug.php?id=53831