text: from typing import Optional
  
  def formatSeconds(seconds: int | float, joiner: Optional[str] = None) -> str:
  	seconds = round(seconds)
  	timeValues = {"h": seconds // 3600, "m": seconds // 60 % 60, "s": seconds % 60}
  	if not joiner:
  		return "".join(str(v) + k for k, v in timeValues.items() if v > 0)
  	if timeValues["h"] == 0:
  		del timeValues["h"]
  	return joiner.join(str(v).rjust(2, "0") for v in timeValues.values())
  