mit Time.zone.parse gehen, wenn Sie nur in Active schreiben möchten.
DateTime sollte vermieden werden. Wenn Sie mit Datumsangaben arbeiten, sollten Sie stattdessen Date.parse verwenden.
Darüber hinaus hängt es davon ab, ob die Eingabe mit Zeitzoneninformationen geliefert wird, worauf die aktuelle Zeitzone eingestellt ist und ob Sie Zeitzonen in Ihren Daten haben möchten.
Time.zone.parse gibt eine ActiveSupport :: TimeWithZone zurück, standardmäßig UTC.
> Time.zone.parse("12:30")
=> Thu, 10 May 2012 12:30:00 UTC +00:00
Time.parse gibt eine Zeit zurück, mit einer Zone, wenn sie in der Eingabe angegeben ist, oder der lokalen TZ.
> Time.parse("12:30")
=> 2012-05-09 12:30:00 -0700
Für eine detailliertere Erklärung von Ruby Zeitvergleiche und Präzision, lesen Sie diesen Blog-Post:
http://blog.tddium.com/2011/08/07/rails-time-comparisons-devil-details-etc/
Auch [diese] (http://stackoverflow.com/questions/9138515/when -should-i-use-datetime-vs-date-time-fields-in-ruby-rails) und [dies] (http://stackoverflow.com/questions/1261329/whats-the-difference-with-datetime-) und-time-in-ruby/1261435 # 1261435), die DateTime verwenden soll, wenn es sich um Daten oder Daten handelt, die weit in der Zukunft liegen. –