Например, вы можете создать объект времени
old_time = Time.now
Затем создайте новый объект времени на основе этого
new_time = Time.local(old_time.year, (old_time.month - 1), old_time.day, old_time.hour, old_time.min, old_time.sec)
Однако, как указала децезе, каков критерий для 31.05 стать 4/30?
В irb 4/31 «переполняется» до 5/01.