clock.py 595 B

123456789101112131415161718192021222324252627
  1. # Written by John Hoffman
  2. # see LICENSE.txt for license information
  3. from time import *
  4. import sys
  5. _MAXFORWARD = 100
  6. _FUDGE = 1
  7. class RelativeTime:
  8. def __init__(self):
  9. self.time = time()
  10. self.offset = 0
  11. def get_time(self):
  12. t = time() + self.offset
  13. if t < self.time or t > self.time + _MAXFORWARD:
  14. self.time += _FUDGE
  15. self.offset += self.time - t
  16. return self.time
  17. self.time = t
  18. return t
  19. if sys.platform != 'win32':
  20. _RTIME = RelativeTime()
  21. def clock():
  22. return _RTIME.get_time()