[英]Mysql “Time” type gives an “ArgumentError: argument out of range” in Rails if over 24 hours
[英]Rails/Active Record “ArgumentError: argument out of range” - for “time” fields greater than 24 hours
但不確定這是最好的方法:
ActiveRecord使用ActiveSupport :: TimeZone.parse方法來解析這些值(gems / activesupport - ?。?。?/ lib / active_support / values / time_zone.rb)
這很簡單:
def parse(str, now=now)
date_parts = Date._parse(str)
return if date_parts.blank?
time = Time.parse(str, now) rescue DateTime.parse(str)
if date_parts[:offset].nil?
ActiveSupport::TimeWithZone.new(nil, self, time)
else
time.in_time_zone(self)
end
end
因此,您可以為時間格式修補此方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.