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


Elizabeth McInerney
Elizabeth McInerney
3,175 Points


In the video Manipulating Time Already, in Dates and Times, I don't understand how he can use a dir on time_worked when time_worked is just a variable set to an equation (datetime.datetime.now() - treehouse_start).

1 Answer

Chris Freeman
Chris Freeman
Treehouse Moderator 68,423 Points

Something to remember: Everything in Python is an object. When assigning a variable it is going to be some object based upon the objects used in the equation. There is a bit of magic involved with datetime. When two datetime objects are added or subtracted the result is a timedelta object. You can use timedelta objects to directly add and subtract to other datetimeand get a datetime object result.

datatime.datetime.now() yields a datetime object

  • If treehouse_start is a datetime object, time_worked will be a timedelta object.
  • If treehouse_start is a timedelta object, time_worked will be a datetime object.

So the dir() is returning the attributes of the datetime object.