コンテンツにスキップ

pytilpack.babel

必要なextra

pip install pytilpack[babel]

pytilpack.babel

Babel関連。

format_date(date=None, format='medium', locale=None)

日付をロケールに応じてフォーマットする。

引数:

名前 タイプ デスクリプション デフォルト
date date | None

フォーマットする日付。Noneの場合は本日。

None
format str

フォーマット種別 ("short", "medium", "long", "full" またはパターン文字列)

'medium'
locale str | None

ロケール。Noneの場合はi18n.get_locale()を使用。

None
ソースコード位置: pytilpack/babel.py
def format_date(
    date: datetime.date | None = None,
    format: str = "medium",
    locale: str | None = None,
) -> str:
    """日付をロケールに応じてフォーマットする。

    Args:
        date: フォーマットする日付。Noneの場合は本日。
        format: フォーマット種別 ("short", "medium", "long", "full" またはパターン文字列)
        locale: ロケール。Noneの場合はi18n.get_locale()を使用。

    """
    return babel.dates.format_date(date, format=format, locale=locale or pytilpack.i18n.get_locale())

format_datetime(dt=None, format='medium', locale=None, tzinfo=None)

日時をロケールに応じてフォーマットする。

引数:

名前 タイプ デスクリプション デフォルト
dt datetime | None

フォーマットする日時。Noneの場合は現在日時。

None
format str

フォーマット種別 ("short", "medium", "long", "full" またはパターン文字列)

'medium'
locale str | None

ロケール。Noneの場合はi18n.get_locale()を使用。

None
tzinfo tzinfo | None

タイムゾーン情報。

None
ソースコード位置: pytilpack/babel.py
def format_datetime(
    dt: datetime.datetime | None = None,
    format: str = "medium",
    locale: str | None = None,
    tzinfo: datetime.tzinfo | None = None,
) -> str:
    """日時をロケールに応じてフォーマットする。

    Args:
        dt: フォーマットする日時。Noneの場合は現在日時。
        format: フォーマット種別 ("short", "medium", "long", "full" またはパターン文字列)
        locale: ロケール。Noneの場合はi18n.get_locale()を使用。
        tzinfo: タイムゾーン情報。

    """
    return babel.dates.format_datetime(dt, format=format, tzinfo=tzinfo, locale=locale or pytilpack.i18n.get_locale())

format_time(time=None, format='medium', locale=None)

時刻をロケールに応じてフォーマットする。

引数:

名前 タイプ デスクリプション デフォルト
time time | None

フォーマットする時刻。Noneの場合は現在時刻。

None
format str

フォーマット種別 ("short", "medium", "long", "full" またはパターン文字列)

'medium'
locale str | None

ロケール。Noneの場合はi18n.get_locale()を使用。

None
ソースコード位置: pytilpack/babel.py
def format_time(
    time: datetime.time | None = None,
    format: str = "medium",
    locale: str | None = None,
) -> str:
    """時刻をロケールに応じてフォーマットする。

    Args:
        time: フォーマットする時刻。Noneの場合は現在時刻。
        format: フォーマット種別 ("short", "medium", "long", "full" またはパターン文字列)
        locale: ロケール。Noneの場合はi18n.get_locale()を使用。

    """
    return babel.dates.format_time(time, format=format, locale=locale or pytilpack.i18n.get_locale())

format_number(number, locale=None)

数値をロケールに応じてフォーマットする。

引数:

名前 タイプ デスクリプション デフォルト
number int | float | Decimal

フォーマットする数値。

必須
locale str | None

ロケール。Noneの場合はi18n.get_locale()を使用。

None
ソースコード位置: pytilpack/babel.py
def format_number(
    number: int | float | decimal.Decimal,
    locale: str | None = None,
) -> str:
    """数値をロケールに応じてフォーマットする。

    Args:
        number: フォーマットする数値。
        locale: ロケール。Noneの場合はi18n.get_locale()を使用。

    """
    return babel.numbers.format_decimal(number, locale=locale or pytilpack.i18n.get_locale())

format_decimal(number, format=None, locale=None)

小数をロケールに応じてフォーマットする。

引数:

名前 タイプ デスクリプション デフォルト
number int | float | Decimal

フォーマットする数値。

必須
format str | None

カスタムフォーマットパターン。

None
locale str | None

ロケール。Noneの場合はi18n.get_locale()を使用。

None
ソースコード位置: pytilpack/babel.py
def format_decimal(
    number: int | float | decimal.Decimal,
    format: str | None = None,
    locale: str | None = None,
) -> str:
    """小数をロケールに応じてフォーマットする。

    Args:
        number: フォーマットする数値。
        format: カスタムフォーマットパターン。
        locale: ロケール。Noneの場合はi18n.get_locale()を使用。

    """
    return babel.numbers.format_decimal(number, format=format, locale=locale or pytilpack.i18n.get_locale())

format_currency(number, currency, locale=None, format=None)

通貨をロケールに応じてフォーマットする。

引数:

名前 タイプ デスクリプション デフォルト
number int | float | Decimal

フォーマットする数値。

必須
currency str

通貨コード(例: "USD", "JPY")。

必須
locale str | None

ロケール。Noneの場合はi18n.get_locale()を使用。

None
format str | None

カスタムフォーマットパターン。

None
ソースコード位置: pytilpack/babel.py
def format_currency(
    number: int | float | decimal.Decimal,
    currency: str,
    locale: str | None = None,
    format: str | None = None,
) -> str:
    """通貨をロケールに応じてフォーマットする。

    Args:
        number: フォーマットする数値。
        currency: 通貨コード(例: "USD", "JPY")。
        locale: ロケール。Noneの場合はi18n.get_locale()を使用。
        format: カスタムフォーマットパターン。

    """
    return babel.numbers.format_currency(
        number,
        currency,
        format=format,
        locale=locale or pytilpack.i18n.get_locale(),
    )

format_percent(number, format=None, locale=None)

パーセントをロケールに応じてフォーマットする。

引数:

名前 タイプ デスクリプション デフォルト
number int | float | Decimal

フォーマットする数値(0.5 = 50%)。

必須
format str | None

カスタムフォーマットパターン。

None
locale str | None

ロケール。Noneの場合はi18n.get_locale()を使用。

None
ソースコード位置: pytilpack/babel.py
def format_percent(
    number: int | float | decimal.Decimal,
    format: str | None = None,
    locale: str | None = None,
) -> str:
    """パーセントをロケールに応じてフォーマットする。

    Args:
        number: フォーマットする数値(0.5 = 50%)。
        format: カスタムフォーマットパターン。
        locale: ロケール。Noneの場合はi18n.get_locale()を使用。

    """
    return babel.numbers.format_percent(number, format=format, locale=locale or pytilpack.i18n.get_locale())