from enum import Enum from datetime import datetime from typing import Union class TimestampStyle(Enum): SHORT_TIME = "t" """16:20""" LONG_TIME = "T" """16:20:30""" SHORT_DATE = "d" """20/04/2021""" LONG_DATE = "D" """20 April 2021""" SHORT_DATETIME = "f" """20 April 2021 16:20""" LONG_DATETIME = "F" """Tuesday, 20 April 2021 16:20""" RELATIVE = "R" """2 months ago""" def format_timestamp(unix: Union[int, datetime], style: TimestampStyle = TimestampStyle.SHORT_DATETIME) -> str: t = 0 if isinstance(unix, int): t = unix elif isinstance(unix, datetime): t = unix.timestamp() return f""