Skip to content

Instantly share code, notes, and snippets.

@snit-ram
Created March 19, 2013 04:34
Show Gist options
  • Save snit-ram/5193737 to your computer and use it in GitHub Desktop.
Save snit-ram/5193737 to your computer and use it in GitHub Desktop.
Sample usage of timeslice module. Used in the timeslice post in my blog
from timeslice import *
from datetime import datetime, date
"""
TimeSlice Creation
"""
slice1 = TimeSlice(start=datetime(2009, 1, 1, 0, 0, 0),
end=datetime(2009, 1, 2, 0, 0, 0))
slice2 = TimeSlice(start=datetime(2009, 1, 1, 22, 33, 44),
end=datetime(2009, 1, 2, 22, 33, 44))
"""
TimeSet Creation
"""
set1 = TimeSet()
set1.append(slice1)
set2 = TimeSet([slice1, slice2])
set3 = TimeSet.fromRange(start=date(2009, 1, 1),
end=date(2009, 2, 1),
repeat=DAYLY)
"""
Duration
"""
print slice1.duration()
#Out: 86400
print set3.duration()
#Out: 2592000
"""
Sum
"""
print slice1 + slice2
#Out: [<TimeSlice intance (datetime.datetime(2009, 1, 1, 0, 0), datetime.datetime(2009, 1, 2, 22, 33, 44)) >]
set3 + set2
"""
Subtract
"""
print slice1 - slice2
#Out: [<TimeSlice intance (datetime.datetime(2009, 1, 1, 0, 0), datetime.datetime(2009, 1, 2, 22, 33, 44)) >]
set3 - set1
"""
Intersect
"""
print slice1.intersect(slice2)
#Out: <TimeSlice intance (datetime.datetime(2009, 1, 1, 22, 33, 44), datetime.datetime(2009, 1, 2, 0, 0)) >
set3.intersect(slice2)
set3.intersect(set2)
slice2.intersect(set3)
"""
Iteration
"""
for x in set2:
print x
#Out: <TimeSlice intance (datetime.datetime(2009, 1, 1, 0, 0), datetime.datetime(2009, 1, 2, 0, 0)) >
# <TimeSlice intance (datetime.datetime(2009, 1, 2, 0, 0), datetime.datetime(2009, 1, 2, 22, 33, 44)) >
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment