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 trialBenjamin Bradshaw
3,208 PointsWhat am I Missing
This is my recent attempt and I can't figure out why this doesn't make sense to me.
import datetime
import pytz
starter = pytz.utc.localize(datetime.datetime(2015, 10, 21, 23, 29))
def to_timezone(tzname):
tz = pytz.timezone(tzname)
new_dt = tz.localize(starter)
return new_dt
1 Answer
Chris Howell
Python Web Development Techdegree Graduate 49,702 PointsI wrote a bunch of comments to give you hints of whats happening with your error.
Let me know if that helps at all. :)
import datetime
import pytz
starter = pytz.utc.localize(datetime.datetime(2015, 10, 21, 23, 29))
# datetime.datetime(2015, 10, 21, 23, 29, tzinfo=<UTC>)
# NOTE: the 'tzinfo'
def to_timezone(tzname):
# for this example...
# lets pretend 'tzname' contains 'US/Pacific'
tz = pytz.timezone(tzname)
# tz = 'US/Pacific'
new_dt = tz.localize(starter)
# ValueError: Not naive datetime (tzinfo is already set)
# 'starter' already had its timezone tzinfo set with localize above
# but since 'starter' is a datetime object it has other methods
# that may let us convert to another timezone since its already
# been localized to UTC.
return new_dt
Kenneth uses this method at some point in his video. :)