带日期时间的 py-appscript 过滤器

发布于 2024-11-02 14:02:08 字数 496 浏览 4 评论 0原文

从 iCal 日历中选择事件时,我尝试使用日期时间属性的日期字段作为过滤器。

以下似乎不起作用(选择当前日期的所有事件):

cal = app("iCal").calendars["myCalender"].get()
cDate = datetime.now()
cEvents = cal.events[its.start_date.day==cDate.day].get()

我得到结果: AttributeError: Unknown property, element or command: 'day'

但是,这有效(用于打印任何事件发生的日子)...

cal = app("iCal").calendars["myCalender"].get()
for cEvent in cal.events.get():
    print cEvent.start_date.get().day

I am trying to use the day field of a datetime property as a filter when selecting events from an iCal calendar.

The following doesn't seem to work (to select all events for the current date):

cal = app("iCal").calendars["myCalender"].get()
cDate = datetime.now()
cEvents = cal.events[its.start_date.day==cDate.day].get()

I get the result: AttributeError: Unknown property, element or command: 'day'

However, this works (for printing the days of any events)...

cal = app("iCal").calendars["myCalender"].get()
for cEvent in cal.events.get():
    print cEvent.start_date.get().day

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

巨坚强 2024-11-09 14:02:08

此行

cal.events[its.start_date.day==cDate.day].get()

检查 its.start_date.day==cDate.day 并返回 FalseTrue。作为索引,它会转换为 01 并采用 cal.events 列表中的前两个元素之一。这是你想要的吗?

This line

cal.events[its.start_date.day==cDate.day].get()

checks its.start_date.day==cDate.day and returns False or True. As an index, this translates into 0 and 1 and takes one of the first two elements in the cal.events list. Is this what you want?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文