Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Python Dates and Times in Python (2014) Let's Build a Timed Quiz App Timestamp Ordering

timestamp.py

So I'm trying to use make a function that takes an unknown number of float arguments.

My first thought was to use *args, but when I try to run the function it says that the function expected integers but got floats? Any help is appreciated.

timestamp.py
# If you need help, look up datetime.datetime.fromtimestamp()
# Also, remember that you *will not* know how many timestamps
# are coming in.
import datetime

def timestamp_oldest(*args):
    sorted_list = []
    for num in args:
        sorted_list.append(num)
    sorted_list.sort()
    return datetime.datetime(max(sorted_list))

2 Answers

Logan R
Logan R
22,989 Points

Hey!

If you read the first comment, "# If you need help, look up datetime.datetime.fromtimestamp()", it's trying to give you a hint that to get the datetime from a timestamp, you should use the fromtimestamp function.

An example:

datetime.datetime.fromtimestamp(a_posix_timestamp_thats_a_float)

Also, as a sidenote: you are returning the biggest timestamp, which means that it's the most recent. It wants you to return the smallest. "Return the oldest one as a datetime object."

Hi Andrew,

Just correct your return statement as below:

return datetime.datetime.fromtimestamp(sorted_list[0])