Как получить TimeZone от широты и долготы с earthtools.org - PullRequest
0 голосов
/ 27 октября 2011

Я новичок в программировании.

У меня есть веб-приложение ASPX.NET.

Я пытаюсь получить текущую временную зону текущего зарегистрированного пользователя с помощьюиспользуя веб-сервис.Я сохранил значения координат широты и долготы в моей базе данных.

Может кто-нибудь дать мне ссылку с учебником?Или даже пример кода ...

1 Ответ

1 голос
/ 10 октября 2012
# offset = TimeZoneFinder.gmt_offset(some_lat, some_lng)
# timezone = ActiveSupport::TimeZone[offset]
#
# timezone = TimeZoneFinder.timezoneId(lat, lng)
# Time.zone = timezone
# Time.zone.now
#
class TimeZoneFinder
  attr_accessor :result

  def self.gmt_offset(lat,lng)
    self.new(lat,lng).find('gmtOffset').to_f
  end

  def self.timezoneId(lat,lng)
    self.new(lat,lng).find('timezoneId')
  end

  def initialize(lat,lng)
    uri     = URI.parse("http://ws.geonames.org/timezone?lat=#{lat}&lng=#{lng}")
    @result = Hash.from_xml(open(uri))
  end

  def find(key)
    result["geonames"]["timezone"][key]
  end
end

# Example XML response...
# <geonames>
#   <timezone>
#     <countryCode>US</countryCode>
#     <countryName>United States</countryName>
#     <lat>41.8781136</lat>
#     <lng>-87.6297982</lng>
#     <timezoneId>America/Chicago</timezoneId>
#     <dstOffset>-5.0</dstOffset>
#     <gmtOffset>-6.0</gmtOffset>
#     <rawOffset>-6.0</rawOffset>
#     <time>2011-09-01 21:40</time>
#     <sunrise>2011-09-02 06:16</sunrise>
#     <sunset>2011-09-02 19:22</sunset>
#   </timezone>
# </geonames>`enter code here`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...