Преобразуйте свои даты в часовой пояс GMT, когда вы набиваете их в Mongo. Таким образом, никогда не возникает проблема с часовым поясом. Затем просто сделайте математику в поле twitter / timezone, когда вы вытащите данные для презентации.
urllib пытается сделать:
b'a,b'.split(',')
, Который не работает. строки байтов и строки unicode смешиваются еще менее гладко в Py3k, чем они использовали to —  deliberately, чтобы заставить проблемы кодирования пойти не так, как надо как можно скорее.
, Таким образом, ошибка скорее непрозрачно говорит Вам, что вЂyou не может передать строку байтов urllib.parse’. По-видимому, Вы делаете запрос POST, где закодированная формой строка входит в cgi как в тело содержания; тело содержания является все еще строкой байтов / поток, таким образом, это теперь сталкивается с новым urllib.
Так да, это - ошибка в cgi.py, еще одной жертве 2to3 преобразование, которое не было зафиксировано правильно для новой строковой модели. Это должно преобразовывать входящий поток байтов в символы прежде, чем передать их urllib.
я упоминал библиотеки Python 3.0's (особенно связанные с сетью) все еще являющийся скорее shonky? :-)
из учебного пособия Python ( http://www.python.org/doc/3.0/tutorial/stdlib.html ) Существует пример использования метода URLOPEN. Это поднимает ту же ошибку.
for line in urlopen('http://tycho.usno.navy.mil/cgi-bin/timer.pl'):
if 'EST' in line or 'EDT' in line: # look for Eastern Time
print(line)
Вам нужно будет использовать функцию str для преобразования байтов в строку с правильной кодировкой. Как следует:
for line in urlopen('http://tycho.usno.navy.mil/cgi-bin/timer.pl'):
lineStr = str( line, encoding='utf8' )
if 'EST' in lineStr or 'EDT' in lineStr: # look for Eastern Time
print(lineStr)