You could generate the summer dates:
current = datetime.date.today()
summer = current.replace(month=4, day=16), current.replace(month=10, day=14)
if summer[0] <= current <= summer[1]:
# summer semester
else:
# winter semester
This use a datetime.date()
object instead of a datetime.datetime()
, as the time portion is irrelevant here. The date.replace()
calls make sure we reuse the current year.
This all assumes, of course, that summer semester starts and ends on the same dates each year.
Demo:
>>> import datetime
>>> current = datetime.date.today()
>>> current
datetime.date(2013, 9, 3)
>>> summer = current.replace(month=4, day=16), current.replace(month=10, day=14)
>>> summer[0] <= current <= summer[1]:
True