def _formatted_time()

in aws_lambda_powertools/utilities/data_classes/appsync/scalar_types_utils.py [0:0]


def _formatted_time(now: datetime.date, fmt: str, timezone_offset: int) -> str:
    """String formatted time with optional timezone offset

    Parameters
    ----------
    now : datetime.date
        Current datetime with zero timezone offset
    fmt : str
        Data format before adding timezone offset
    timezone_offset : int
        Timezone offset in hours, defaults to 0
    Returns
    -------
    str
        Returns string formatted time with optional timezone offset
    """
    if timezone_offset != 0:
        now = now + datetime.timedelta(hours=timezone_offset)

    datetime_str = now.strftime(fmt)
    if fmt.endswith(".%f"):
        datetime_str = datetime_str[:-3]

    if timezone_offset == 0:
        postfix = "Z"
    else:
        postfix = "+" if timezone_offset > 0 else "-"
        postfix += str(abs(timezone_offset)).zfill(2)
        postfix += ":00:00"

    return datetime_str + postfix