ir con Time.zone.parse si lo que desea escribir en ActiveRecord.
DateTime debe evitarse. Si está manejando fechas, debería usar Date.parse en su lugar.
Más allá de eso, depende de si la entrada viene con información de zona horaria, en qué está configurada la zona horaria actual y si desea zonas horarias en sus datos.
Time.zone.parse devolverá un ActiveSupport :: TimeWithZone, por defecto a UTC.
> Time.zone.parse("12:30")
=> Thu, 10 May 2012 12:30:00 UTC +00:00
Time.parse devolverá un tiempo, con una zona si se especifica en la entrada, o la TZ local.
> Time.parse("12:30")
=> 2012-05-09 12:30:00 -0700
Para una explicación más detallada de las comparaciones en el tiempo y la precisión de Ruby, lea esta entrada del blog:
http://blog.tddium.com/2011/08/07/rails-time-comparisons-devil-details-etc/
también [esto] (http://stackoverflow.com/questions/9138515/when -should-i-use-datetime-vs-date-time-fields-in-ruby-rails) y [this] (http://stackoverflow.com/questions/1261329/whats-the-difference-between-datetime- and-time-in-ruby/1261435 # 1261435), que dice usar DateTime cuando se trata de Fechas o Fechas lejanas en el futuro. –