time.py
1 import datetime 2 import time 3 4 5 def get_current_time_millis(): 6 """ 7 Returns the time in milliseconds since the epoch as an integer number. 8 """ 9 return int(time.time() * 1000) 10 11 12 def conv_longdate_to_str(longdate, local_tz=True): 13 date_time = datetime.datetime.fromtimestamp(longdate / 1000.0) 14 str_long_date = date_time.strftime("%Y-%m-%d %H:%M:%S") 15 if local_tz: 16 if tzinfo := datetime.datetime.now().astimezone().tzinfo: 17 str_long_date += " " + tzinfo.tzname(date_time) 18 19 return str_long_date 20 21 22 class Timer: 23 """ 24 Measures elapsed time. 25 26 .. code-block:: python 27 28 from mlflow.utils.time import Timer 29 30 with Timer() as t: 31 ... 32 33 print(f"Elapsed time: {t:.2f} seconds") 34 """ 35 36 def __init__(self): 37 self.elapsed = 0.0 38 39 def __enter__(self): 40 self.elapsed = time.perf_counter() 41 return self 42 43 def __exit__(self, exc_type, exc_value, traceback): 44 self.elapsed = time.perf_counter() - self.elapsed 45 46 def __format__(self, format_spec: str) -> str: 47 return self.elapsed.__format__(format_spec) 48 49 def __repr__(self) -> str: 50 return self.elapsed.__repr__() 51 52 def __str__(self) -> str: 53 return self.elapsed.__str__()