Source code for ml.utils.datetime

"""Utilities for working with datetimes."""

import datetime


[docs]def format_timedelta(delta: datetime.timedelta) -> str: """Formats a time delta to human-readable format. Args: delta: The time delta to format Returns: The human-readable time delta """ parts = [] if delta.days > 0: parts += [f"{delta.days} day" if delta.days == 1 else f"{delta.days} days"] seconds = delta.seconds if seconds > 60 * 60: hours, seconds = seconds // (60 * 60), seconds % (60 * 60) parts += [f"{hours} hour" if hours == 1 else f"{hours} hours"] if seconds > 60: minutes, seconds = seconds // 60, seconds % 60 parts += [f"{minutes} minute" if minutes == 1 else f"{minutes} minutes"] parts += [f"{seconds} second" if seconds == 1 else f"{seconds} seconds"] return ", ".join(parts)
[docs]def format_datetime(dt: datetime.datetime) -> str: """Formats a datetime to human-readable format. Args: dt: The datetime to format Returns: The human-readable datetime """ return dt.strftime("%Y-%m-%d %H:%M:%S")