我有一个模型,它具有纬度,经度和日期时间属性,我希望能够计算该位置的时区并为模型的每个单独实例进行设置。这里是我写的代码,以获得时区有我缺少的东西?根据位置计算时区[Rails]
require 'nokogiri'
require 'open-uri'
before_validation :set_current_time_zone
def set_current_time_zone
Time.zone = find_timezone_based_on_location
end
def find_time_zone_based_on_location
url = "http://www.earthtools.org/timezone-1.1/#{self.latitude}/#{self.longitude}"
doc = Nokogiri::XML(open(url))
offset = doc.at_xpath('//offset').text().to_i
if offset == -5
"Eastern Time (US & Canada)"
....
elsif offset == -8
"Pacific Time (US & Canada)"
end
end
有什么,我失踪,为什么这不是设置正确的时间?