docstr: Calculates time since `start` and formats as a string.
docstr_tok: ["Calculates","time","since","`","start","`","and","formats","as","a","string","."]
code: def get_time_hhmmss(
      self, start=None, end=None, gap=None, format=None
  ):
      """
      Calculates time since `start` and formats as a string.
      """
      if start is None and gap is None:
          if format is None:
              format = self.DEFAULT_TIME_FORMAT_DATE_TIME
  
          return time.strftime(format)
  
      if end is None:
          end = time.time() * 1000
      if gap is None:
          gap = end - start
  
      s, ms = divmod(gap, 1000)
      m, s = divmod(s, 60)
      h, m = divmod(m, 60)
  
      if format is None:
          format = self.DEFAULT_TIME_FORMAT
  
      items = [ms, s, m, h]
      assert len(items) == len(
          format
      ), "Format length should be same as items"
  
      time_str = ""
      for idx, item in enumerate(items):
          if item != 0:
              time_str = format[idx] % item + " " + time_str
  
      # Means no more time is left.
      if len(time_str) == 0:
          time_str = "0ms"
  
      return time_str.strip()
  
imports: import time
label_desc: Use image node_id 6 for calling the Timer obj's underlying member method code with example usage: obj.get_time_hhmmss(start, end, gap, format) and returns: time_str, time