python 无法使用GCSA列出给定日期的所有事件

zc0qhyus  于 2022-12-25  发布在  Python
关注(0)|答案(2)|浏览(101)

首先,我是Python新手,但我有32年的z/OS REXX大型机编程经验。令人惊讶的是,两者非常相似,基础知识的学习曲线很小。HAVING说我遇到的问题是GCSA包/库(不是术语)。下面是有问题的代码...

from gcsa.google_calendar import GoogleCalendar
from datetime import date
from datetime import timedelta

calendar = GoogleCalendar('******************************@group.calendar.google.com')

start_date = date.today() - timedelta(days = 1)
start_date = str(start_date) + " 00:00:01"

end_date = date.today()
end_date = str(end_date) + " 23:59:59"

calendar.get_events(start_date, end_date)

for event in calendar:
    print(event)

问题是上面只返回挂起的事件。其他的都丢失了。要求是列出从昨天午夜到今天午夜的所有事件。在这一点上不确定它是否在日历设置或上面的代码中。注意:不给(calendar.get_events())传递参数也会得到相同的结果。
任何帮助都将不胜感激。先谢了。

5sxhfpxr

5sxhfpxr1#

get_events接受Python日期时间对象作为参数;你正在创建一个字符串对象来表示你选择的日期和时间。2请看下面的代码来构造日期时间对象(在使用打印的情况下也是有用的)。3这些对象可以在调用calendar函数时用作参数。

from datetime import datetime
from datetime import date
from datetime import timedelta

start_date = datetime.combine(date.today(), datetime.min.time())
start_date = start_date + timedelta(days= -1, minutes = 1)
end_date = datetime.combine(date.today(), datetime.min.time())
end_date = end_date + timedelta(hours = 23, minutes = 59, seconds = 50)

print(datetime.strftime(start_date, '%y-%m-%d %H:%M:%S'))
print(datetime.strftime(end_date, '%y-%m-%d %H:%M:%S'))

生产(目前)

22-12-20 00:01:00
22-12-21 23:59:50
nukf8bse

nukf8bse2#

我是图书馆的作者:)
您几乎就到了那里。像您一样迭代calendar,将经历从今天到明年同一日期的事件。
您需要迭代calendar.get_events(start_date, end_date)的结果:

for event in calendar.get_events(start_date, end_date):
    print(event)

或者您可以用途:

for event in calendar[start_date:end_date]:
    print(event)

但是你的start_dateend_date是字符串,它们需要是date/datetime对象,我建议你使用@user19077881的建议,把日期和时间结合起来。
如果有帮助请告诉我。

相关问题