2017-11-30 11 views
0

私は月の増分で動作する以下のコードを持っています。しかし、feburaryの後、それは毎月28日の最終日を示しています。毎月の実際の最終日をどのように得ることができますか?毎月最後の日付を取得するにはどうすればよいですか?

from dateutil.relativedelta import relativedelta 
import datetime 
from datetime import date 
import time 

Start_Date = date(2010, 01, 01) 
End_Date = date(2010, 01, 31) 
Final_startdate = date(2011, 12, 01) 

while Start_Date < Final_startdate: 
    print Start_Date 
    print End_Date 

    Start_Date = Start_Date + relativedelta(months=+1) 
    End_Date = End_Date + relativedelta(months=+1) 

これは私が得るものです:

2010-01-01

2010-01-31

2010-02-01

2010-02-28

2010-03-01

2010-03-28

2010-04-01

2010-04-28

2010-05-01

2010-05-28

2010-06- 01

2010-06-28

2010-07-01

2010-07-28

2010-08-01

2010-08-28

+1

可能な重複[ゲットPythonで月の最後の日](https://stackoverflow.com/questions/42950/get-last-日中のPython) – glibdud

+0

@glibdud:重複した質問を参照していただきありがとうございます。私はそこに私の答えを得た。 –

答えて

0

私は、以下のいずれかにEND_DATEのためのコードの最後の行を変更し、それが動作します。私は希望の答えを得た。

End_Date = Start_Date + relativedelta(months=+1,days=-1) 

私が得た答えは

2010-01-01

2010-01-31

2010-02-01

2010-02-28

です

2010-03-01

2010-03-31

2010-04-01

2010-04-30

2010-05-01

2010-05-31

2010-06- 01

2010-06-30

2010-07-01

2010-07-31

2010-08-01

関連する問題