2014-09-01 2 views
0

Я создаю dict obj и отправляю его в календарь Google, как с собственным примером googles в своей документации по API. Я прочитал базу данных mssql, а затем создаю csv-файл результатов. Затем я использую информацию cdv для записи событий.Событие API календаря Google всегда минус один день

Фрагменты из моего кода.

def count_leaveduration(sdate, fdate): 

try: 
    date_format = "%Y.%m.%d" 
    cmp_sdate = datetime.strptime(sdate, date_format) 
    cmp_fdate = datetime.strptime(fdate, date_format) 
    delta = cmp_fdate - cmp_sdate 
    return delta.days, cmp_sdate, cmp_fdate 
except Exception as e: 
    input_logging('error', 'Cannot Count Leave Duration - Exception: %s' % e) 

duration, sdate, fdate = count_leaveduration(line['FIRSTDAYOFABSENCE'], line['LASTDAYOFABSENCE'])  
event['summary'] = '%s - Leave' % line['NAME1'] 
event['location'] = 'Out Of Office' 
# date type here instead because all day event for duration. 
event['start'] = {'date': '%s' % sdate.strftime('%Y-%m-%d')} 
event['end'] = {'date': '%s' % fdate.strftime('%Y-%m-%d')} 
event['attendees'] = [{'email': line['ELECTRONICMAILADDRESS']}] 
appbuildobj.events().insert(calendarId=robj, body=event).execute() 

Запись работает хорошо в целом, но если длительность больше, чем один день, кажется, измельчить выходной день календарной записи, даже если дата должна быть датой окончания которой будет представлен на мероприятие календаря ДИКТ. Конечно, работа вокруг, чтобы сделать что-то вроде этого: -

fdate = fdate + timedelta(days=1) 

Однако, Id хотел бы знать, если кто-нибудь знает причину этого происходит?

ответ

2

Она скрыта, но я нашел его: -

https://developers.google.com/google-apps/calendar/concepts

Такое событие начинается STARTDATE и заканчивается за день до endDay. Например, один день событие должно быть дата ее начала установить в день, и его дата окончания устанавливается в день + 1.

Так что я установил это с: -

fdate = fdate + timedelta(days=1) 
Смежные вопросы