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) Dates and Times strftime & strptime

Kennedy Malonga
Kennedy Malonga
22,856 Points

Create a new function named from_string that takes two arguments: a date as a string and an strftime-compatible format s

time delta '15-9-24' does not match

timestrings.py
## Examples
# to_string(datetime_object) => "24 September 2012"
# from_string("09/24/12 18:30", "%m/%d/%y %H:%M") => datetime
import datetime

def to_string(datetime):
    datetime = datetime.strftime("%d %B %Y")
    return datetime

def from_string(date_object, datetimes):
    date_object = datetime.datetime.strptime(date_object, '%d %B %Y')
    return datetimes

1 Answer

Steven Parker
Steven Parker
231,236 Points

You're close, but when you call strptime you need to use the 2nd supplied argument instead of a literal format.

Also, you need to return the constructed object instead of the 2nd argument.

Hint: It might be less confusing if you create the object in a new variable instead of re-using one of the parameters.

Asher Orr
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Asher Orr
Python Development Techdegree Graduate 9,409 Points

^ To help with understanding Steven's suggestions:

import datetime

def to_string(datetime):
    datetime = datetime.strftime("%d %B %Y")
    return datetime

def from_string(date_object, datetimes):
    date_object = datetime.datetime.strptime(date_object, '%d %B %Y')
    #in the line above, '%d %B %Y' should be changed to datetimes.
    #when the you click "Check Work," the challenge will run your from_string function.
    #it will come up with an strftime-compatible format string and pass it in as the second argument
    #instead of specifying a formatted string in date_object, just let it be your second argument (datetimes)
    return datetimes
    #datetimes is the second argument of your from_string function.
    #the datetime object you constructed, date_object, is what you need to return

I hope this helps. Let me know if you have any questions!