use DateTime::Duration to correctly convert partial dates in to fields