strftime is a Time method, not Numeric. The diff between dates results a Float. If you ask this result if is_a?(Numeric) returns true, is_a?(Time) returns false.
My proposal is a helper like “strfperiod” if it is in Ruby. Working with diff time periods, not dates.