小编给大家分享一下calendar怎样筛选出python3时间中重复事件,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
例如,Python 亚特兰大用户组在每个月的第二个星期四开会。要计算一年的会议日期,请使用monthcalendar()。
import calendar import pprint pprint.pprint(calendar.monthcalendar(2017, 7)) # 输出 # [[0, 0, 0, 0, 0, 1, 2], # [3, 4, 5, 6, 7, 8, 9], # [10, 11, 12, 13, 14, 15, 16], # [17, 18, 19, 20, 21, 22, 23], # [24, 25, 26, 27, 28, 29, 30], # [31, 0, 0, 0, 0, 0, 0]]
0 值是与给定月份重叠的一周中的时间,是另一个月的一部分。
一周的第一天默认为星期一。可以通过调用setfirstweekday()来更改,但由于日历模块包含用于索引返回的日期范围的常量 monthcalendar(),因此在这种情况下跳过该步骤更方便。
要计算一年的小组会议日期,假设它们总是在每个月的第二个星期四,查看 monthcalendar()输出来查找星期四。本月的第一周和最后一周填充 0 值作为前一个月或后一个月天数的占位符。例如,如果一个月在星期五开始,则星期四位置第一周的值将为 0。
import calendar import sys year = int(sys.argv[1]) # Show every month for month in range(1, 13): # Compute the dates for each week that overlaps the month c = calendar.monthcalendar(year, month) first_week = c[0] second_week = c[1] third_week = c[2] # If there is a Thursday in the first week, # the second Thursday is # in the second week. # Otherwise, the second Thursday must be in # the third week. if first_week[calendar.THURSDAY]: meeting_date = second_week[calendar.THURSDAY] else: meeting_date = third_week[calendar.THURSDAY] print('{:>3}: {:>2}'.format(calendar.month_abbr[month], meeting_date)) # 输出 # Jan: 12 # Feb: 9 # Mar: 9 # Apr: 13 # May: 11 # Jun: 8 # Jul: 13 # Aug: 10 # Sep: 14 # Oct: 12 # Nov: 9 # Dec: 14
看完了这篇文章,相信你对calendar怎样筛选出python3时间中重复事件有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。