Мне нужно сравнить дату в рельсах, чтобы получить значения после этой даты, я отправил дату как "2013-03-04T06:26:25Z"
, но на самом деле запись в db содержит дату следующим образом 2013-03-04 06:26:25.817149
, поэтому, когда я проверяю дату, возвращает эту запись, но мне нужны записи после этой даты. как я могу удалить миллисекунды из db? пожалуйста, помогите мне.
Как удалить миллисекунды с даты в рельсах?
Ответ 1
У меня была аналогичная проблема
Обновите свой объект времени, как это, прежде чем отправлять его в базу данных:
time.change(:usec => 0)
Ответ 2
С ruby 1.9 вы можете использовать round
t = Time.now.round
t.usec # => 0
Ответ 3
У меня также была эта проблема, однако, когда я применял изменение как указано в ответе @Intrepidd, это не повлияло на микросекунды моего объекта времени.
Обратите внимание, что (по крайней мере в настоящее время) ключ :usec
работает только с Time#change
, а не с помощью метода DateTime#change
.
Метод DateTime#change
игнорирует ключи, которые он не принимает, поэтому вы не сможете сказать, что попытка смены микросекунд не срабатывала, если вы не осмотрели объект (например, с помощью DateTime#rfc3339(9)
).
Итак, прежде чем вы попытаетесь это изменение, убедитесь, что вы работаете с объектом Time
, а не с объектом DateTime
.