Zacznij terazZacznij za darmo

Definiowanie funkcji do konwersji stref czasowych

Tworzysz asystenta do planowania spotkań, który pomaga koordynować terminy w różnych strefach czasowych. API OpenTimezone udostępnia usługę konwersji stref czasowych – wystarczy przesłać datę i godzinę, strefę źródłową oraz docelową, a API zwróci przeliczony czas. Twoim zadaniem jest napisanie funkcji, która wykonuje to wywołanie API i zwraca sformatowany wynik.

Moduły requests i json zostały już zaimportowane.

To ćwiczenie jest częścią kursu

Praca z API Responses OpenAI

Zobacz kurs

Instrukcje do ćwiczenia

  • Przypisz do zmiennej url wartość "https://api.opentimezone.com/convert".
  • Utwórz słownik payload z kluczami "dateTime", "fromTimezone" i "toTimezone" odwzorowanymi na argumenty funkcji.
  • Wyślij żądanie POST pod adres url, przekazując payload jako JSON.
  • Sprawdź, czy funkcja działa poprawnie z podanymi wartościami.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod