Это было для канала API данных Python Календаря Google, и было много работы, потому что библиотека даты и времени Python не поддерживает ISO 8601: http://wiki.python.org/moin/WorkingWithTime
Кроме того, если вы передаете даты с часовым поясом .000Z вВ календаре Google будет игнорироваться DST (летнее время) для событий, происходящих в EDT и других (так что для частей года все будет отключено на час).
Вот мое исправление: Предположим, start_time и end_timeявляются объектами datetime.datetime с учетом часового пояса:
timezone_string = start_datetime.strftime('%z')[0:3] + ":" + start_datetime.strftime('%z')[3:6]
start_time = start_datetime.strftime('%Y-%m-%dT%H:%M:%S' + timezone_string)
end_time = end_datetime.strftime('%Y-%m-%dT%H:%M:%S' + timezone_string)
Обратите внимание, что stftime ("% z") не включает символ ":" для разделения часов / минут в смещении, которое требуется API календаря Google.