Python Dates and Times in Python Let's Build a Timed Quiz App Harder Time Machine

Lucas Alexander
Lucas Alexander
3,528 Points

Harder Time Machine unsure of what's expected of return

Checking this code in my workspace, outside of returning datetime.datetime( ... ) I seem to be returning what the comments are mentioning, and going through years, days, hours, and minutes it all seems to be lining up, so I'm unsure what I'm missing.

time_machine.py
import datetime

starter = datetime.datetime(2015, 10, 21, 16, 29)

def time_machine(delta, duration):
    if delta == 'years':
        duration = duration * 365
        return starter + datetime.timedelta(days=duration)

    if delta == 'days':
        return starter + datetime.timedelta(days=duration)

    if delta == 'hours':
        return starter + datetime.timedelta(hours=duration)

    if delta == 'minutes':
        return starter + datetime.timedelta(minutes=duration)

# 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)

1 Answer

Anthony Reinosa
Anthony Reinosa
4,499 Points

You have your delta and duration flip flopped... The instructions say it takes an integer and a string ("minutes", "hours", "days" or "years").

def time_machine(delta, duration):

if duration == 'years':
    delta = delta* 365
    return starter + datetime.timedelta(days=delta)
if duration == 'days':
    return starter + datetime.timedelta(days=delta)
if duration == 'hours':
    return starter + datetime.timedelta(hours=delta)
if duration == 'minutes':
    return starter + datetime.timedelta(minutes=delta)