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 trialAndrei Oprescu
9,547 PointsI have a problem.
I have a question like this:
Create a new function named from_string that takes two arguments: a date as a string and an strftime-compatible format string, and returns a datetime created from them.
And I have this code:
Create a new function named from_string that takes two arguments: a date as a string and an strftime-compatible format string, and returns a datetime created from them.
Can someone help me and tell me what I have done wrong?
Thanks
## 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_object):
time = datetime_object.strftime('%d %B %Y')
return time
def from_string('25 November 2015', '(2015, 9, 25, 0, 0, 0, 0)'):
return strptime('25 November 2015', '%d %B %Y')
1 Answer
Steve Hunter
57,712 PointsHi there,
You have hard-coded the from_string
method so it won't output any other dates when tested. The challenge will be passing two things into the method and expecting it to return a date in a particular format. Your method returns one date in one format.
To correct this, simply change your two parameters into variable names. You also need to include datetime.datetime
before strptime
. This all looks like:
def to_string(datetime_object):
return datetime_object.strftime('%d %B %Y')
def from_string(date_string, fmt):
return datetime.datetime.strptime(date_string, fmt)
I hope that makes sense.
Steve.