Ruby on rails Rails解析模型中的日期时间
我从表单中获取datetime字符串,示例值如下:Ruby on rails Rails解析模型中的日期时间,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我从表单中获取datetime字符串,示例值如下: 2014-02-21 13:00:00 我希望能够在将其保存到模型中之前将其转换为datetime 有没有办法做到这一点,因为Rails 4在保存时似乎会自动将错误的日期放入其中试试看 Time.zone.parse("2014-02-21 13:00:00") 而不是 Time.parse("2014-02-21 13:00:00") 后者将“假定字符串在系统的时区中给定” 在应用程序.rb中添加您的时区作为默认时区,如下所示: con
2014-02-21 13:00:00
我希望能够在将其保存到模型中之前将其转换为datetime
有没有办法做到这一点,因为Rails 4在保存时似乎会自动将错误的日期放入其中试试看
Time.zone.parse("2014-02-21 13:00:00")
而不是
Time.parse("2014-02-21 13:00:00")
后者将“假定字符串在系统的时区中给定”
在
应用程序.rb中添加您的时区作为默认时区,如下所示:
config.time_zone = 'Eastern Time (US & Canada)'
config.active_record.default_timezone = 'Eastern Time (US & Canada)'
请尝试此to_time或to_date_time方法。
它将字符串转换为日期时间格式
"2014-02-21 13:00:00".to_time
"2014-02-21 13:00:00".to_datetime
你的意思是:Rails似乎自动输入了错误的日期?它在Heroku上,我的本地时间是墨尔本时间。你如何将它放入模型中,以便在模型中自动转换任何日期时间字符串?例如,我将使用。根据您的需要,如保存前或验证前。因此,如果字段名为start,您是否会执行类似于date=DateTime.zone.parse(:start)
?