I found this different behaviour for DateTime#to_f and Time#to_f.
DateTime#to_f strips decimal part but Time#to_f doesn’t.
DateTime#to_f method is implemented in ActiveSupport and Time#to_f is native conversion method.
I found this in mongoid pending test (https://github.com/mongoid/mongoid/blob/master/spec/mongoid/extensions/date_time_spec.rb#L17).
It was marked as pending in change from 3.2 to 4.0 rails. So it’ regression maybe. But I tried 3.2, 3.1, 3.0 and 2.3 in console quickly and it behaved same as now. So I’m not sure about this.
Anyway ping me if you think any patch is needed for this and I’ll do my best to provide it.