Artur Owczarek4,781 Points
Bummer: 'time_unit' is an invalid keyword argument for this function
Hello, I have a problem with my code. I know why it doesn't work. There is no keyword argument such as time_unit. I know the solution of this problem, I can change all units to seconds and execute timedelta('seconds'=...), but I think it is not elegant. Does exist more elegant way to do it?
import datetime starter = datetime.datetime(2015, 10, 21, 16, 29) def time_machine(time_num, time_unit): if time_unit == 'years': time_num *= 365 time_unit = 'days' return starter + datetime.timedelta(time_unit=time_num) # 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)