Clock

Code

Clock example for a clock with yearly time interval

from sfctools import Clock
import datetime
from dateutil.relativedelta import relativedelta

t0 = datetime.datetime(2020, 1, 1) # set up initial time

clock = Clock(t0=t0, dt=relativedelta(years=1)) # setup a clock
t0 = clock.get_time() # get the starting time

[clock.tick() for i in range(5)] # tick 5 times

t1 = clock.get_time()        # get the integer time
t2 = clock.get_real_time()   # get the actual datetime time

clock.reset() # reset clock to zero

t3 = clock.get_time()
t4 = clock.get_real_time()

print("t0:",t0)
print("t1:",t1)
print("t2:",t2)
print("t3:",t3)
print("t4:",t4)

Output

t0: 0
t1: 5
t2: 2025-01-01 00:00:00
t3: 0
t4: 2020-01-01 00:00:00