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) Where on Earth do Timezones Make Sense? Timezone Strings

Why is this not working?

I don't know what is going wrong in this code... this should work fine...

timezone.py
import datetime

import pytz

starter = pytz.utc.localize(datetime.datetime(2015, 10, 21, 23, 29))

def to_timezone(timename):
  tmp = pytz.timezone(starter).localize(tmp)
  utc_date = tmp.astimezone(pytz.utc)
  return utc_date.astimezone(tmp)

2 Answers

Boris Ivan Barreto
Boris Ivan Barreto
6,838 Points

Hi,

From your code: pytz.timezone(starter), I can see that you are trying to create a timezone from a datetime, this is not possible, and then localize tmp, you can only localize a datetime, see the starter variable in the example.

Check my solution:

def to_timezone(zone_name):
    new_zone = pytz.timezone(zone_name)
    return starter.astimezone(new_zone)
Kern Tallett
Kern Tallett
10,012 Points

The argument timename isn't being used at all in the function.