CommencezCommencez gratuitement

Définir une fonction pour convertir des fuseaux horaires

Vous créez un assistant de planification qui aide à coordonner des réunions entre différents fuseaux horaires. L'API OpenTimezone offre des services de conversion de fuseau horaire : vous n'avez qu'à lui envoyer une date et heure, le fuseau source et le fuseau cible, et elle retourne l'heure convertie. Votre tâche consiste à créer 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.

Cette activité fait partie du cours

Utiliser l'API Responses d'OpenAI

Voir le cours

Instructions de l’exercice

  • Définissez la variable url à "https://api.opentimezone.com/convert".
  • Créez un dictionnaire payload avec les clés "dateTime", "fromTimezone" et "toTimezone" associées aux arguments de la fonction.
  • Faites une requête POST vers url en transmettant payload comme JSON.
  • Vérifiez que la fonction fonctionne avec les valeurs fournies.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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)
Modifier et exécuter le code