En este artículo, vamos a ver cómo obtener la zona horaria de una ubicación determinada. El módulo Timezonefinder es capaz de encontrar la zona horaria de cualquier punto de la tierra (coordenadas) fuera de línea. Antes de comenzar necesitamos instalar este módulo.
Módulos necesarios
- timezonefinder: este módulo no está integrado con Python. Para instalar este tipo, escriba el siguiente comando en la terminal.
pip install timezonefinder
- Geopy: .geopy facilita a los desarrolladores de Python la localización de las coordenadas de direcciones, ciudades, países y puntos de referencia en todo el mundo. Para instalar el módulo Geopy, ejecute el siguiente comando en su terminal.
pip install geopy
Entendamos este módulo con Paso a paso:
Paso 1: importe el módulo TimezoneFinder
Python3
from timezonefinder import TimezoneFinder
Paso 2: haz un objeto de TimezoneFinder.
Python3
# object creation obj = TimezoneFinder()
Paso 3: Pase la latitud y la longitud en un método timezone_at() y devuelva la zona horaria de una ubicación determinada.
Python3
# pass the longitude and latitude # in timezone_at and # it return time zone latitude = 25.6093239 longitude = 85.1235252 obj.timezone_at(lng=latitude, lat=longitude)
Producción:
'Asia/Kolkata'
Ahora escribamos un script para obtener la zona horaria con una ubicación específica.
Acercarse:
- Importar el módulo
- Inicialice la API de Nominatim para obtener la ubicación de la string de entrada.
- Obtenga la latitud y la longitud con la función geolocator.geocode().
- Pase la latitud y la longitud en un método timezone_at() y devolverá la zona horaria de una ubicación determinada.
Código:
Python3
# importing module from geopy.geocoders import Nominatim from timezonefinder import TimezoneFinder # initialize Nominatim API geolocator = Nominatim(user_agent="geoapiExercises") # input as a geek lad = "Dhaka" print("Location address:", lad) # getting Latitude and Longitude location = geolocator.geocode(lad) print("Latitude and Longitude of the said address:") print((location.latitude, location.longitude)) # pass the Latitude and Longitude # into a timezone_at # and it return timezone obj = TimezoneFinder() # returns 'Europe/Berlin' result = obj.timezone_at(lng=location.longitude, lat=location.latitude) print("Time Zone : ", result)
Producción:
Location address: Dhaka Latitude and Longitude of the said address: (23.810651, 90.4126466) Time Zone : Asia/Dhaka
Publicación traducida automáticamente
Artículo escrito por kumar_satyam y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA