ComenzarEmpieza gratis

Definir una función para convertir zonas horarias

Estás creando un asistente de planificación que ayuda a coordinar reuniones entre distintas zonas horarias. La API OpenTimezone ofrece servicios de conversión de zonas horarias: solo tienes que enviarle una fecha y hora, la zona de origen y la de destino, y te devuelve la hora convertida. Tu tarea es crear una función que haga esta llamada a la API y devuelva un resultado formateado.

Los módulos requests y json ya se han importado por ti.

Este ejercicio forma parte del curso

Trabajar con la API Responses de OpenAI

Ver curso

Instrucciones del ejercicio

  • Asigna a la variable url el valor "https://api.opentimezone.com/convert".
  • Crea un diccionario payload con las claves "dateTime", "fromTimezone" y "toTimezone" mapeadas a los argumentos de la función.
  • Haz una solicitud POST a url asignando payload como JSON.
  • Prueba que la función funciona con los valores proporcionados.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

def convert_timezone(date_time: str, from_timezone: str, to_timezone: str) -> str:
    """
    Convert a datetime from one timezone to another.
    
    Args:
        date_time: The datetime string in ISO format
        from_timezone: Source timezone
        to_timezone: Target timezone
    
    Returns:
        A string with the converted datetime and timezone information
    """
    # Set the API endpoint
    url = "____"
    
    # Prepare the request payload
    payload = {"dateTime": ____, "fromTimezone": ____, "toTimezone": ____}
    
    try:
        # Make the API request and extract converted time
        response = requests.post(url, json=____)
        response.raise_for_status()
        
        data = response.json()
        converted_time = data.get('dateTime', 'N/A')
        
        return f"Time in {to_timezone}: {converted_time}"
    
    except requests.exceptions.RequestException as e:
        return f"Error converting timezone: {str(e)}"

# Test the function
result = convert_timezone('2025-01-20T14:30:00', 'America/New_York', 'Europe/London')
print(result)
Editar y ejecutar código