jun cheng wong9,457 Points
Write a function named time_machine that takes an integer and a string of "minutes", "hours", "days", or "years". This d
I cannot figure out what's wrong with my code. Appreciate if anyone can help me
import datetime starter = datetime.datetime(2015, 10, 21, 16, 29) # Remember, you can't set "years" on a timedelta! # Consider a year to be 365 days. ## Example # time_machine(5, "minutes") => datetime(2015, 10, 21, 16, 34) def time_machine(duration, unit): return starter + datetime.timedelta(unit = duration)
Mel RumseyTreehouse Staff
Hey jun cheng wong For this challenge, we want to check some things in our time_machine function before we add the timedelta to the starter. We want to check if the unit is equal to minutes, hours, days, or years (days = duration * 365 since there are no years on a timedelta). Within each if/elif statement we need to set the offset equal to the datetime.timedelta(*=duration) where * = minutes, hours, or days accordingly.
if unit == 'minutes': offset = datetime.timedelta(minutes=duration) elif unit == 'hours': offset = datetime.timedelta(hours=duration) # and so on...
After we have set our offset equal to the correct units, we can then return the starter + offset
Hopefully this helps! :D