As mentioned on doc (http://php.net/manual/en/dateinterval.construct.php) the format is based on ISO 8601 ( https://en.wikipedia.org/wiki/ISO_8601#Durations), but it doesn't respects, for instance, decimal values. There are some reason for that?
This bug was related on 2011 and we have not update ( https://bugs.php.net/bug.php?id=53831). -- David Rodrigues