Python 谷歌日历API事件总是减少一天
我正在创建dict obj并将其发送到google日历,就像google自己在API文档中的示例一样。我读取一个mssql数据库,然后生成一个结果的csv文件。然后,我使用cdv信息来编写事件 我的代码片段Python 谷歌日历API事件总是减少一天,python,google-api-python-client,Python,Google Api Python Client,我正在创建dict obj并将其发送到google日历,就像google自己在API文档中的示例一样。我读取一个mssql数据库,然后生成一个结果的csv文件。然后,我使用cdv信息来编写事件 我的代码片段 def count_leaveduration(sdate, fdate): try: date_format = "%Y.%m.%d" cmp_sdate = datetime.strptime(sdate, date_format) cmp_fdate = da
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)
fdate = fdate + timedelta(days=1)
但是,我想知道是否有人知道发生这种情况的原因?它是隐藏的,但我发现了它:- 这样的活动从startDate开始,在endDay的前一天结束。例如,一天事件的开始日期应设置为天,结束日期应设置为天+1 所以我用以下方法解决了这个问题:-