【Python3】文字列で管理されている年月(YYYYMM)から昨月を算出する例

import datetime
from dateutil.relativedelta import relativedelta

MONTH = "202206"
LAST_MONTH = (datetime.datetime.strptime(MONTH,'%Y%m') + relativedelta(months=-1)).strftime("%Y%m")

■ポイント
・datetime.datetime.strptime(MONTH,'%Y%m') で第一引数の変数を対象に文字列→日付に変換。
 第二引数はフォーマットを示す。
 %YはYYYYで西暦4桁を示す。西暦2桁にしたい場合は%yとする。
 %mはMMで月2桁を示す。
「datetime.datetime.strptime(MONTH,'%Y%m')」単体で実行すると、
datetime.datetime(2022, 6, 1, 0, 0)
 という形の日付データとなる。

・relativedelta(months=-1)で対象日付から-1ヶ月を引いた月を算出。
printをすれば、datetime.datetime(2022, 5, 1, 0, 0)の形で出力される

・strftime("%Y%m")で-1ヶ月した日付を文字列に変換する。
 この場合は、YYYYMMの形になるが、事前に1ヶ月引いた値を用いるため、結果としてLAST_MONTHの値は以下のようになる。

print(LAST_MONTH)
'202205'

なお、今月を算出する場合はrelativedelta(months=0)を設定(この例を用いる場合には意味がない)
来月を算出する場合はrelativedelta(months=1)を設定する。