Idź z Time.zone.parse jeśli chcesz po prostu napisać do ActiveRecord.
Należy unikać używania DateTime. Jeśli obsługujesz daty, powinieneś użyć Date.parse.
Poza tym, zależy to od tego, czy dane wejściowe zawierają informacje o strefie czasowej, o tym, jaka jest aktualna strefa czasowa i czy chcesz stref czasowych w danych.
Time.zone.parse zwróci ActiveSupport :: TimeWithZone, domyślnie UTC.
> Time.zone.parse("12:30")
=> Thu, 10 May 2012 12:30:00 UTC +00:00
Time.parse zwróci Czas, ze strefą, jeśli jest określona na wejściu lub lokalną strefą TZ.
> Time.parse("12:30")
=> 2012-05-09 12:30:00 -0700
celu bardziej szczegółowego wyjaśnienia Ruby porównań czasu i precyzji, przeczytaj ten post na blogu:
http://blog.tddium.com/2011/08/07/rails-time-comparisons-devil-details-etc/
też [to] (http://stackoverflow.com/questions/9138515/when -should-i-use-datetime-vs-date-time-fields-in-ruby-rails) i [this] (http://stackoverflow.com/questions/1261329/whats-the-difference-between-datetime- and-time-in-ruby/1261435 # 1261435), który mówi o używaniu DateTime podczas zajmowania się datami lub datami odległymi w przyszłości. –