日付から指定した日数を引いた日付を求める方法


方法1: 日付オブジェクトを利用する方法

Pythonでは、datetimeモジュールを使用して日付の計算を行うことができます。以下のコードは、指定した日数を引いた日付を求める方法の一例です。

from datetime import datetime, timedelta
def subtract_days(date_str, days):
    date = datetime.strptime(date_str, '%Y-%m-%d')
    new_date = date - timedelta(days=days)
    return new_date.strftime('%Y-%m-%d')
# 使用例
input_date = '2024-02-01'
days_to_subtract = 10
result_date = subtract_days(input_date, days_to_subtract)
print(result_date)

上記のコードでは、subtract_days関数が指定した日数を引いた日付を返します。datetime.strptime関数を使用して入力された日付文字列を日付オブジェクトに変換し、timedeltaを使用して指定した日数を引いた新しい日付を計算します。最後に、strftimeメソッドを使用して結果を指定した形式の文字列に変換しています。

方法2: 日付の計算を文字列操作で行う方法

もう一つの方法として、日付の計算を文字列操作で行う方法があります。以下のコードは、この方法の一例です。

def subtract_days(date_str, days):
    year, month, day = map(int, date_str.split('-'))
    date = datetime(year, month, day)
    new_date = date - timedelta(days=days)
    return str(new_date.year) + '-' + str(new_date.month).zfill(2) + '-' + str(new_date.day).zfill(2)
# 使用例
input_date = '2024-02-01'
days_to_subtract = 10
result_date = subtract_days(input_date, days_to_subtract)
print(result_date)

上記のコードでは、subtract_days関数が指定した日数を引いた日付を返します。入力された日付文字列をハイフンで分割し、年、月、日の値を取得します。次に、取得した値を使用して新しい日付を計算し、文字列として結合して返します。