python 日期与星期匹配

python date matching to week

我正在探索 python google 日历和工作表 API。基本上,它应该记录我日历中的某些事件,计算有多少,然后将其放入我的工作表中。

我从 google 日历 api 快速入门示例的数组中得到了一些这样的日期信息,所以我知道我可以读取数据,但我需要从每天到每个星期。

2017-10-23 work
2017-10-24 work

我想将它们折叠成几周。所以上面两行应该折叠成这一行:

Oct 23- Oct 29 2 #2 instances of work.

但我不确定如何实现。

datetime.date 有一个 isocalendar() 方法,该方法 returns 一个元组,您可以从中获取日历周。

例如,使用您从 Google 日历 API 的数组中获得的数据:

>>> datetime.date(2017, 10, 23).isocalendar()
(2017, 43, 1)

>>> datetime.date(2017, 10, 24).isocalendar()
(2017, 43, 2)

请注意,这两个事件都发生在一年中的第 43 周。

只获取周:

>>> datetime.date(2017, 10, 24).isocalendar()[1]
43

从那里,您可以确定事件是否在同一周内重复发生。需要额外的编码来处理所有日期,将它们解析为周,然后聚合它们,但核心将按周识别事件,您可以使用 datetime.datetime.isocalendar().

希望有用!