Я пытаюсь написать утверждение о классе, который зависит от Rails' end_of_month
, но я не могу получить его равным вновь созданный объект Time
:Совпадение Rails end_of_month к времени с теми же данными
Time.new(2014, 12).end_of_month == Time.new(2014, 12, 31, 23, 59, 59)
=> false
Оба значения возвращают один и тот же результат с to_i
:
Time.new(2014, 12).end_of_month.to_i
=> 1420030799
Time.new(2014, 12, 31, 23, 59, 59).to_i
=> 1420030799
Но с to_f
результатом немного отличается:
Time.new(2014, 12).end_of_month.to_f
=> 1420030800.0
Time.new(2014, 12, 31, 23, 59, 59).to_f
=> 1420030799.0
Оба объекта сообщают о своем классе как Time
. Что тут происходит? Как я могу создать объект Time
, который будет соответствовать тому, что возвращается end_of_month
?