日付の加算・減算操作をサポートする Python クラスを作成します

Document 对象参考手册Python3 サンプル

Python クラスを作成しますDateこのクラスは日付の加算・減算操作をサポートします。datetime モジュールをdatetime使用して日付の加算・減算操作を処理し、日付の形式が正しいことを確認します。

サンプル

from datetime import datetime, timedelta

class Date:
    def __init__(self, year, month, day):
        self.date = datetime(year, month, day)

    def __add__(self, days):
        new_date = self.date + timedelta(days=days)
        return Date(new_date.year, new_date.month, new_date.day)

    def __sub__(self, days):
        new_date = self.date - timedelta(days=days)
        return Date(new_date.year, new_date.month, new_date.day)

    def __str__(self):
        return self.date.strftime('%Y-%m-%d')

# 使用例
date = Date(2023, 10, 1)
print("初期日付:", date)

date_plus_10 = date + 10
print("10 日加算後の日付:", date_plus_10)

date_minus_5 = date - 5
print("5 日減算後の日付:", date_minus_5)

コードの解説:

  1. __init__メソッド:初期化Dateクラスは、年・月・日を引数として受け取り、それを datetimedatetimeオブジェクトに変換します。
  2. __add__メソッド:加算演算子のオーバーロード+日付オブジェクトに日数を加算できるようにし、新しい datetimeDateオブジェクトを返します。
  3. __sub__メソッド:減算演算子のオーバーロード-日付オブジェクトから日数を減算できるようにし、新しい datetimeDateオブジェクトを返します。
  4. __str__メソッド:文字列表現メソッドをオーバーロードし、日付のフォーマット済み文字列を返します。

出力結果:

初始日期: 2023-10-01
加 10 天后的日期: 2023-10-11
减 5 天后的日期: 2023-09-26

Document 对象参考手册Python3 サンプル

その他の拡張