防止在python中重复预订(日程检查程序)

2024-06-26 14:04:57 发布

您现在位置:Python中文网/ 问答频道 /正文

这部分代码旨在确保我们没有为已经在指定时间范围内预订的员工预订活动

如果Marc的预订时间是上午9点到11点。不可能在上午9点到10点或上午7点到9点等时间为Marc预订

这是以下条件:

  1. (currentStart, CurrentEnd)=新约会的开始和结束
  2. event['start']['dateTime']event['end']['dateTime']=已在callendar中注册的约会的开始和结束

以下是不允许第二次预约的条件:

if str2datetime(currentStart) >= str2datetime(event['start']['dateTime'].split('+')[0]) and str2datetime(currentEnd) <= str2datetime(event['end']['dateTime'].split('+')[0]):
    event_done = False
    break

elif str2datetime(currentStart) <= str2datetime(event['start']['dateTime'].split('+')[0]) and str2datetime(currentEnd) <= str2datetime(event['end']['dateTime'].split('+')[0]):
    event_done = False
    break

elif str2datetime(currentStart) >= str2datetime(event['start']['dateTime'].split('+')[0]) and str2datetime(currentEnd) > str2datetime(event['end']['dateTime'].split('+')[0]):
    event_done = False
    break

Tags: andeventfalsedatetime时间marc条件start
1条回答
网友
1楼 · 发布于 2024-06-26 14:04:57

检查两个日期时间范围是否重叠是一个相当简单的条件。给定两个日期时间范围ab-如果a的开始在b的结束之前,而a的结束在b的开始之后,则它们重叠

a.start < b.end and a.end > b.start

相关问题 更多 >