4

特定の月の最後の月曜日 (または他の日) を取得するにはどうすればよいですか?

4

4 に答える 4

9

dateutilを見てください:

from datetime import datetime
from dateutil import relativedelta
datetime(2010,7,1) + relativedelta.relativedelta(day=31, weekday=relativedelta.MO(-1))

戻り値

datetime.datetime(2010, 7, 26, 0, 0)
于 2012-10-09T09:06:54.497 に答える
7

stdlibのカレンダーモジュールを使用する:

import calendar
cal = calendar.Calendar(0)
month = cal.monthdatescalendar(2010, 7)
lastweek = month[-1]
monday = lastweek[0]
print(monday)

2010-07-26
于 2012-10-09T09:10:47.100 に答える
1

ゲイリーの答えに基づく:

import calendar
month = calendar.monthcalendar(2010, 7)
mondays = [week[0] for week in month if week[0]>0]
print mondays[-1]

26

これは、月の最後の週に日曜日がない場合でも、月の最後の日曜日を取得するために機能します。

于 2015-02-26T18:14:55.677 に答える
0

マヌーの答えの小さな改善!

import calendar
month = calendar.monthcalendar(2010, 7)
day_of_month = max(month[-1][calendar.SUNDAY], month[-2][calendar.SUNDAY])
print day_of_month 
于 2015-03-30T05:11:56.543 に答える