1. ホーム
  2. python

[解決済み] Python で月の初日を見つける

2023-06-15 14:12:26

質問

私はpythonで月の初日を見つけようとしています。もし現在の日付が月の25日を過ぎたら、最初の日付変数は現在の月の代わりに次の月の初日を保持します。私は以下のことを行っています。

import datetime 
todayDate = datetime.date.today()
if (todayDate - todayDate.replace(day=1)).days > 25:
    x= todayDate + datetime.timedelta(30)
    x.replace(day=1)
    print x
else:
    print todayDate.replace(day=1)

は、これを行うためのよりクリーンな方法はありますか?

どのように解決するのですか?

これは、ピタリと解決する方法です。

import datetime 

todayDate = datetime.date.today()
if todayDate.day > 25:
    todayDate += datetime.timedelta(7)
print todayDate.replace(day=1)

元のコード例で注意すべき点は timedelta(30) を使用すると問題が発生することです。 1月の最終日にテストしている場合、問題が発生します。そのため、私は7日間のデルタを使用しています。