アプリをダウンロード
フォルダーを選び、編集前に関連ファイルを読むようアシスタントに依頼します。作業の目的と変更範囲を明確にしてください。
日付を整数月だけ移動し、日を移動先の月末に収めます。うるう年と平年の1月31日および負の移動を試し、分数の移動量と範囲外の年を拒否してください。
フォルダーを選び、編集前に関連ファイルを読むようアシスタントに依頼します。作業の目的と変更範囲を明確にしてください。
対応するエンドポイントを選択します。利用できるツールや回答品質は、設定したモデルとサーバーに依存します。
変更内容とコマンド出力を確認します。結果を採用する前にプロジェクトの検証を実行してください。生成コードが自動的にテスト済みになるわけではありません。
実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
from calendar import monthrange
from datetime import date
def add_months(day, delta):
if type(day) is not date or type(delta) is not int:
raise ValueError("month.input")
year, month0 = divmod(day.year * 12 + day.month - 1 + delta, 12)
if not 1 <= year <= 9999:
raise ValueError("month.year")
last = monthrange(year, month0 + 1)[1]
return date(year, month0 + 1, min(day.day, last))適用前に確認. 変更内容とコマンド出力を確認します。結果を採用する前にプロジェクトの検証を実行してください。生成コードが自動的にテスト済みになるわけではありません。