Definire una funzione per convertire i fusi orari
Stai creando un assistente per la pianificazione che aiuta a coordinare riunioni tra fusi orari diversi. L'API OpenTimezone fornisce servizi di conversione dei fusi orari: ti basta inviarle una data/ora, il fuso orario di origine e quello di destinazione, e restituisce l'ora convertita. Il tuo compito è creare una funzione che effettui questa chiamata API e restituisca un risultato formattato.
I moduli requests e json sono già stati importati per te.
Questo esercizio fa parte del corso
Lavorare con la Responses API di OpenAI
Istruzioni dell'esercizio
- Imposta la variabile
urlsu"https://api.opentimezone.com/convert". - Crea un dizionario
payloadcon le chiavi"dateTime","fromTimezone"e"toTimezone"mappate agli argomenti della funzione. - Effettua una richiesta POST a
urlassegnandopayloadcome JSON. - Verifica che la funzione funzioni con i valori forniti.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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)