コンテンツにスキップ

pytilpack.datetime

pytilpack.datetime

datetime関連。

YearMonth(year, month) dataclass

年月を表すクラス。

is_valid property

正しい日付なのか否かを返す。

prev_month property

前月の1日を返す。

this_month property

当該月の1日を返す。

next_month property

次の月の1日を返す。

YearMonthDay(year, month, day) dataclass

年月日を表すクラス。

is_valid property

正しい日付なのか否かを返す。

prev_day property

前日を返す。

this_day property

当該日を返す。

next_day property

翌日を返す。

fromiso(iso_str, tz=None, remove_tz=False)

ISO形式の文字列をdatetimeオブジェクトに変換する。

引数:

名前 タイプ デスクリプション デフォルト
iso_str str

ISO形式の文字列。

必須
tz ZoneInfo | str | None

タイムゾーン。

None
remove_tz bool

タイムゾーン情報を削除するかどうか。

False
ソースコード位置: pytilpack/datetime.py
def fromiso(iso_str: str, tz: zoneinfo.ZoneInfo | str | None = None, remove_tz: bool = False) -> datetime.datetime:
    """ISO形式の文字列をdatetimeオブジェクトに変換する。

    Args:
        iso_str (str): ISO形式の文字列。
        tz (zoneinfo.ZoneInfo | str | None): タイムゾーン。
        remove_tz (bool): タイムゾーン情報を削除するかどうか。

    """
    result = datetime.datetime.fromisoformat(iso_str.replace("Z", "+00:00"))
    if tz is not None:
        if isinstance(tz, str):
            tz = zoneinfo.ZoneInfo(tz)
        result = result.astimezone(tz)
    if remove_tz:
        result = result.replace(tzinfo=None)
    return result

toutc(dt)

UTCのdatetimeオブジェクトに変換する。

引数:

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

変換するdatetimeオブジェクト。

必須

戻り値:

タイプ デスクリプション
datetime

datetime.datetime: UTCのdatetimeオブジェクト。

ソースコード位置: pytilpack/datetime.py
def toutc(dt: datetime.datetime) -> datetime.datetime:
    """UTCのdatetimeオブジェクトに変換する。

    Args:
        dt (datetime.datetime): 変換するdatetimeオブジェクト。

    Returns:
        datetime.datetime: UTCのdatetimeオブジェクト。

    """
    if dt.tzinfo is None:
        return dt.replace(tzinfo=zoneinfo.ZoneInfo("UTC"))
    return dt.astimezone(zoneinfo.ZoneInfo("UTC"))