Definirea unei funcții pentru conversia fusurilor orare
Construiești un asistent de programare care ajută la coordonarea întâlnirilor între diferite fusuri orare. API-ul OpenTimezone oferă servicii de conversie a fusurilor orare — trebuie doar să îi trimiți o dată și oră, fusul orar sursă și fusul orar destinație, iar el returnează ora convertită. Sarcina ta este să creezi o funcție care apelează acest API și returnează un rezultat formatat.
Modulele requests și json au fost deja importate pentru tine.
Acest exercițiu face parte din cursul
Lucrul cu Responses API de la OpenAI
Instrucțiuni pentru exercițiu
- Setează variabila
urlla valoarea"https://api.opentimezone.com/convert". - Creează un dicționar
payloadcu cheile"dateTime","fromTimezone"și"toTimezone"mapate la argumentele funcției. - Trimite o cerere POST către
url, atribuindpayloadca JSON. - Testează că funcția funcționează corect cu valorile furnizate.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)