zero.time

Time management.

Timer

class zero.time.Timer[source]

Measures time.

Measures time elapsed since the first call to run up to “now” plus shift. The shift accumulates all pauses time and can be manually changed with the methods add and sub. If a timer is just created/reset, the shift is 0.0.

Examples

timer = Timer()

Tutorial

import time

assert Timer()() == 0.0

timer = Timer().run()  # start
time.sleep(0.01)
assert timer()  # some time has passed

timer.pause()
elapsed = timer()
time.sleep(0.01)
assert timer() == elapsed  # time didn't change because the timer is on pause

timer.add(1.0)
assert timer() == elapsed + 1.0

timer.run()  # resume
time.sleep(0.01)
assert timer() > elapsed + 1.0

timer.reset()
assert timer() == 0.0

Timer.reset()

Reset the timer.

Timer.run()

Start/resume the timer.

Timer.pause()

Pause the timer.

Timer.add(delta)

Add non-negative delta to the shift.

Timer.sub(delta)

Subtract non-negative delta from the shift.

Timer.__call__()

Get time elapsed since the start.

functions

format_seconds(seconds[, format_str])

Format numeric seconds in a human-readable string.