This was new to me today:

ActiveSupport::Duration.parse('P3Y6M4DT12H30M5S')
# => 3 years, 6 months, 4 days, 12 hours, 30 minutes, and 5 seconds

(3.years + 3.days).iso8601
# => "P3Y3D"

Source: Rails ActiveSupport::Duration

Other references: