hbutils.scale.time

Overview:

Useful utilities for time units, such as h/m/s.

This module provides functions to convert various time duration formats into standardized representations. It supports numeric values (int, float) and string formats (e.g., ‘1h30m’, ‘0:03:53.540000’).

time_to_duration

hbutils.scale.time.time_to_duration(time_: float | int | str) float | int[source]

Turn any types of time duration into time value in seconds.

Parameters:

time (Union[int, float, str]) – Any types of time duration, can be numeric (seconds) or string format.

Returns:

Time duration value in seconds.

Return type:

Union[float, int]

Raises:

TypeError – If the input type is not int, float, or str.

Examples::
>>> from hbutils.scale import time_to_duration
>>> time_to_duration(23344)
23344
>>> time_to_duration(233.54)
233.54
>>> time_to_duration('1h343m67.4s')
24247.4
>>> time_to_duration('0:03:53.540000')
233.54

time_to_delta_str

hbutils.scale.time.time_to_delta_str(time_: float | int | str) str[source]

Turn any types of time duration into time value in formatted string.

This function converts various time duration formats into a standardized string representation using the format ‘H:MM:SS’ or ‘H:MM:SS.ffffff’ for durations with fractional seconds.

Parameters:

time (Union[int, float, str]) – Any types of time duration, can be numeric (seconds) or string format.

Returns:

Time duration value in formatted string (e.g., ‘6:29:04’ or ‘0:03:53.540000’).

Return type:

str

Raises:

TypeError – If the input type is not int, float, or str (raised by time_to_duration).

Examples::
>>> from hbutils.scale import time_to_delta_str
>>> time_to_delta_str(23344)
'6:29:04'
>>> time_to_delta_str(233.54)
'0:03:53.540000'
>>> time_to_delta_str('1h343m67.4s')
'6:44:07.400000'