23.to_time should really just tall into Chronic.parse(23) and it handles it just fine.

Before this 23.to_time would be Chronic.parse("23 pm") which seems to be nil when daylight savings time is over