Définir une fonction pour convertir des fuseaux horaires
Vous créez un assistant de planification qui aide à organiser des réunions entre différents fuseaux horaires. L’API OpenTimezone propose des services de conversion de fuseau horaire : vous lui envoyez une date-heure, un fuseau source et un fuseau cible, et elle renvoie l’heure convertie. Votre mission est d’écrire une fonction qui effectue cet appel d’API et renvoie un résultat formaté.
Les modules requests et json ont déjà été importés pour vous.
Cet exercice fait partie du cours
Travailler avec l’API OpenAI Responses
Instructions
- Définissez la variable
urlà"https://api.opentimezone.com/convert". - Créez un dictionnaire
payloadavec les clés"dateTime","fromTimezone"et"toTimezone"associées aux arguments de la fonction. - Effectuez une requête POST vers
urlen passantpayloadau format JSON. - Vérifiez que la fonction fonctionne avec les valeurs fournies.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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)