[Tutor] working with time spans ?
Michele Alzetta
michele.alzetta at aliceposta.it
Fri Jun 4 18:50:57 EDT 2004
Thanks to Danny Yoo's suggestion I got to this, might be interesting:
from time import mktime
class TimeSpan(object):
def __init__(self, startimetuple, endtimetuple):
self.starttime = mktime(startimetuple)
self.endtime = mktime(endtimetuple)
def __contains__(self, timespan):
return (self.starttime <= timespan.starttime) and \
(self.endtime >= timespan.endtime)
periodstart = (2004, 6, 01, 8, 0, 0, 0, 0, 0)
periodend = (2004, 7, 01, 8, 0, 0, 0, 0, 0)
shiftperiod = TimeSpan(periodend,periodstart)
shift1start = (2004, 6, 15, 8, 0, 0, 0, 0, 0)
shift1end = (2004, 6, 15, 20, 0, 0, 0, 0, 0)
shift1 = TimeSpan(shift1start,shift1end)
shift2start = (2004, 7, 15, 8, 0, 0, 0, 0, 0)
shift2end = (2004, 7, 15, 20, 0, 0, 0, 0, 0)
shift2 = TimeSpan(shift2start,shift2end)
shift1 in shiftperiod
True
shift2 in shiftperiod
False
which ought to come in pretty handy for my purposes.
Actually all I'm interested in are years, months, days, hours and
minutes so the tuples with 9 elements are a bit of a nuisance.
Would it be a good idea to make TimeSpan inherit from time and
change the mktime method for instance ?
--
Michele
More information about the Tutor
mailing list