En este paso, aprenderás a formatear las fechas del pasado y del futuro y a devolverlas como una lista de cadenas.
- Dentro de la función
time_travel_destination(time: str, days: int)
, agregue el siguiente código para formatear las fechas del pasado y del futuro y devolverlas como una lista:
return [past_time.strftime("%d-%m-%Y"), future_time.strftime("%d-%m-%Y")]
El método strftime()
se utiliza para formatear los objetos datetime.date
de past_time
y future_time
en cadenas con el formato "dd-mm-yyyy".
- Finalmente, agregue un bloque de manejo de excepciones para capturar cualquier excepción
ValueError
o OverflowError
que pueda ocurrir durante la ejecución de la función:
except (ValueError, OverflowError):
return []
Si se produce alguna de estas excepciones, la función devolverá una lista vacía.
Su función time_travel_destination(time: str, days: int)
final debería verse así:
import datetime
def time_travel_destination(time: str, days: int):
try:
## Extraer año, mes y día de la cadena de tiempo
year, month, day = map(int, time.split("-"))
## Comprobar si la fecha es válida
datetime.date(year, month, day)
try:
## Restar el número especificado de días a la fecha dada
past_time = datetime.date(year, month, day) - datetime.timedelta(days=days)
except OverflowError:
## Si se produce un OverflowError, establecer past_time en la fecha mínima representable
past_time = datetime.date(1, 1, 1)
## Sumar el número especificado de días a la fecha dada
future_time = datetime.date(year, month, day) + datetime.timedelta(days=days)
## Devolver las fechas del pasado y del futuro en el formato 'dd-mm-yyyy'
return [past_time.strftime("%d-%m-%Y"), future_time.strftime("%d-%m-%Y")]
except (ValueError, OverflowError):
## Si se produce un ValueError o OverflowError, devolver una lista vacía
return []
Ya has completado la implementación de la función time_travel_destination(time: str, days: int)
. Puedes probar la función ejecutando los ejemplos proporcionados en el bloque principal del archivo time_travel_destination.py
. A continuación se proporcionan algunos ejemplos:
print(time_travel_destination('2238-2-11', 30))
print(time_travel_destination('2238-2-11', 0))
print(time_travel_destination('2238-2-11', 100))
['12-01-2238', '13-03-2238']
['11-02-2238', '11-02-2238']
['03-11-2237', '22-05-2238']