在Rails中,我看到我有几个选项来解析日期和日期.解析日期的最佳做法是唯一的目的是通过ActiveRecord将其保留到数据库中?为什么?
Time.zone.parse(...) Time.parse(...) DateTime.parse(...)
解决方法
如果您只想写入ActiveRecord,请与Time.zone.parse一起使用.
DateTime应该避免.如果处理日期,应该使用Date.parse.
除此之外,这取决于输入是否附带时区信息,当前时区设置为何,以及是否希望在数据中使用时区.
Time.zone.parse将返回一个ActiveSupport :: TimeWithZone,默认为UTC.
> Time.zone.parse("12:30") => Thu,10 May 2012 12:30:00 UTC +00:00
Time.parse将返回一个时间,如果在输入中指定了一个区域,或者是本地TZ.
> Time.parse("12:30") => 2012-05-09 12:30:00 -0700
有关Ruby时间比较和精度的更详细的说明,请阅读此博文:
http://blog.tddium.com/2011/08/07/rails-time-comparisons-devil-details-etc/