-1

Как и в названии, карта программы DateTime на TimeWithZone сама.Дата сопоставления ActiveRecord для TimeWithZone вместо DateTime с .000000 суффиксом

create_table :db_values do |t| 
    t.datetime :created_date 
end 

запись из базы данных: 2016-02-01T01: 00: 00 + +0000,000000

Как я могу удалить этот суффикс? »0,000000' я использовал:

Time::DATE_FORMATS[:db]= lambda { |time| time.strftime("%Y-%m-%dT%H:%M:%S%z") } 
+0

Как удалить '.000000' из формата даты? – Matt

ответ

0

Rails сохранит все времена/метки времени в UTC часового пояса в вашу БД. Таким образом, легче узнать, к какому моменту времени он должен сравнивать его, когда вы даете ему время в каком-то другом часовом поясе. Таким образом, не пытайтесь изменить значения БД на значения времени в зоне. Пойдите с потоком ...

Когда дело доходит до отображения локализованного времени, просто используйте вспомогательный метод I18n.l Time.current.

Вот пара good articles около timezones in Rails.

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