2016-02-25 2 views
0

У меня есть поле БД типа time Поле хранит только время в БД. Когда значение поля считывается с помощью ActiveRecord в Rails 4.2, вместо этого я получаю значение dateTime. Например .:ActiveRecord Отображает время как DateTime

08:30:00 в базе данных становится 2000-01-01 08:30:00

Это ожидаемое поведение с AR?

+0

Да, но вы можете использовать метод STRFTIME для форматирования даты. Пример: Yourfield.strftime ("% H:% M:% S") – developer033

+0

Да, это так. Существует nu такое время, как просто время без даты в db. – BroiSatse

+0

@ developer033 Я использую strftime, просто хотел убедиться, что это ожидаемое поведение @BroiSatse Postgres имеет тип 'time' –

ответ

-1

База данных всегда сохраняет эти значения. Вы можете изменить его, используя time.to_s (: db).

взгляд на this answer

-1

Там нет формата данных в MySQL, которая будет сохранять только время: он должен иметь дату прикрепленную для того, чтобы быть полезным.

Если вы планируете получить на HH: MM: СС,

используйте рельсы функции, такие как STRFTIME ("HH: MM: SS") ...

дополнительная информация, как : * TO_TIME * to_date

Смежные вопросы