Skip to content

Instantly share code, notes, and snippets.

@damian1996
Created March 16, 2018 19:56
Show Gist options
  • Save damian1996/a961372da925d1aae8e87057ef6bdefd to your computer and use it in GitHub Desktop.
Save damian1996/a961372da925d1aae8e87057ef6bdefd to your computer and use it in GitHub Desktop.
from datetime import datetime, timedelta
import time
from dateutil import relativedelta
def countingSessions(tms):
size = len(tms)
lastDay = datetime.strptime(tms[size-1], "%Y-%m-%d %H:%M:%S")
lastDays = 1
for i in range(size-1):
d1 = datetime.strptime(tms[size-1-i], "%Y-%m-%d %H:%M:%S")
d2 = datetime.strptime(tms[size-2-i], "%Y-%m-%d %H:%M:%S")
d3 = d1 - timedelta(days=1)
if d2.day == d3.day:
lastDays += 1
if lastDays==3:
break
elif d3.day > d2.day:
return False
md = lastDay.day
sessions = 0
d = datetime.strptime(tms[0], "%Y-%m-%d %H:%M:%S")
if d.day + 2 >= md:
sessions += 1
for i in range(size-1):
d = datetime.strptime(tms[i+1], "%Y-%m-%d %H:%M:%S")
dprev = datetime.strptime(tms[i], "%Y-%m-%d %H:%M:%S")
if d.day + 2 >= md:
if d > dprev + timedelta(minutes=30):
sessions += 1
if sessions == 6:
break
if sessions == 6:
return True
else:
return False
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment