Whoa, I tried to figure out how the astimezone system worked, and it seems like it is implemented as a framework, rather than a built-out class. It was all really confusing, and to be honest, did not seem worth working through.
If you want, you can probably build a quick function that can take in a time, the current timezone, and the desired timezone and output the correct time. The pseudo-code would look something like this:
def change_tz(current_tz, new_tz, datetime_object):
# pass current_tz and new_tz in as the number of hours different from UCT (ie Chicago = -5)
time_difference = new_tz - current_tz
updated_datetime_object = datetime_object.updatetime(time_difference)
Sorry I am having a lot of trouble with markup…trying to fix it now.