一个简单的图书馆,用来处理每周的开放时间和其他经常性的每周事件

weekly-calendar的Python项目详细描述


周日历

一个用于处理每周开放时间和其他每周重复事件的简单库

用法

方法将返回基于布尔值或日期时间的间隔。

fromweekly_calendarimportWeeklyCalendarfromdatetimeimportdatetime,timedeltanow=datetime.now()typical_week=WeeklyCalendar(resolution_in_minutes=60)# typical_week is mapped into a bitmap with a bit representing one hourasserttypical_week.is_idle(now)typical_week.add_busy_interval(now,now+timedelta(hours=3))# the date doens't really matter, only the day of the week doesasserttypical_week.is_busy(now)busy_intervals=typical_week.get_busy_intervals(now,now+timedelta(hours=5))# The result is a list of intervals (start_time, end_time)idle_intervals=typical_week.get_idle_intervals(now,now+timedelta(hours=5))# The result is a list of intervals (start_time, end_time)

您还可以对不同的WeeklyCalendar对象进行并集和交集:

fromweekly_calendarimportWeeklyCalendartw_60=WeeklyCalendar(resolution_in_minutes=60)tw_30=WeeklyCalendar(resolution_in_minutes=30)# resulting objects will have the lowest resolutiontw_union=tw_30+tw_60tw_intersection=tw_30*tw_60

您可以更改现有的^ {< CD1>}对象的分辨率:

fromweekly_calendarimportWeeklyCalendartw_60=WeeklyCalendar(resolution_in_minutes=60)tw_60_to_30=tw_60.copy(resolution_in_minutes=30)

您的WeeklyCalendar对象是可序列化的:

fromweekly_calendarimportWeeklyCalendartw=WeeklyCalendar()str_repr=tw.dumps()tw_loaded=WeeklyCalendar.loads(str_repr)# checks equal resolution, bitmap, and extra parametersasserttw==tw_loaded

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java组织。openqa。硒。遥远的UnreachableBrowserException如何定义EXE路径?   java Camel AdviceWith不使用指定文件替换端点   基于字符串的java图像加载   Java中的启发式算法,计算8个谜题状态的线性冲突   java为什么不支持文件。probeContentType返回null   JPA@EntityListeners、@PrePersist和Spring@RepositoryEventHandler、@HandleBeforeSave之间的java差异   可能前缀的Java字符串到字符串[]   安装rJava | Makefile时发生java错误。全部:38:target’libjri的配方。所以他失败了   Java公共静态void main()   java如何覆盖txt文件中的某些单词   java如何获得循环中生成的字符值之和?   java Log4j创建另一个具有相同属性的appender   java如何在从Axis2 Web服务客户端通过代理服务器调用Web服务时设置代理设置?   在Windows上安装Elasticsearch时发生java错误   java如何向EditText组件添加TextChangedListener?