32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
import time
|
|
|
|
class Timer:
|
|
MILLI_SECONDS = "milliseconds"
|
|
SECONDS = "seconds"
|
|
MINUTES = "minutes"
|
|
HOURS = "hours"
|
|
def __init__(self, name=None):
|
|
self.start_time = None
|
|
self.end_time = None
|
|
self.name = name
|
|
|
|
def start(self):
|
|
self.start_time = time.time()
|
|
|
|
def stop(self):
|
|
self.end_time = time.time()
|
|
|
|
def elapsed_time(self):
|
|
return int(self.end_time - self.start_time)
|
|
|
|
def get_elasped_time_str(self, format):
|
|
if format == Timer.SECONDS:
|
|
return f"Elapsed time in <{self.name}>: {self.elapsed_time()} seconds"
|
|
elif format == Timer.MINUTES:
|
|
return f"Elapsed time in <{self.name}>: {self.elapsed_time() // 60} minutes, {self.elapsed_time() % 60} seconds"
|
|
elif format == Timer.HOURS:
|
|
return f"Elapsed time in <{self.name}>: {self.elapsed_time() // 3600} hours, {(self.elapsed_time() % 3600)//60} minutes, {self.elapsed_time() % 60} seconds"
|
|
elif format == Timer.MILLI_SECONDS:
|
|
return f"Elapsed time in <{self.name}>: {(self.end_time - self.start_time) * 1000} milliseconds"
|
|
else:
|
|
return f"Invalid format: {format}" |