の場合は、月の最初の日付と最後の日付が日付の範囲内にあるかどうかをチェックしようとしています(範囲は現在の日付から7日間です)。以下、私が達成しようとしている何のための例です:Pythonの日付範囲が
import datetime, calendar
today = datetime.date.today()
date_list = [today + datetime.timedelta(days=x) for x in range(0, 7)]
lastDayOfMonth = today.replace(day=calendar.monthrange(today.year,today.month)[-1])
if 1 in [ date_list[i].day for i in range(0, len(date_list))]:
print "we have first day of month in range"
elif lastDayOfMonth in [ date_list[i].day for i in range(0, len(date_list))]:
print " we have last date of month in the range"
それを行うためのクリーンな方法がある場合、私は思ったんだけど?また、リスト内で見つかった場合は正確な日付を表示したいのですが、if文でforループを展開せずに自分の条件に一致するprint date_list[i]
を保存しないとわかりません。その範囲の最初の日を見つけたらメッセージを印刷するのではなく、実際の日付を印刷する必要があります。前回と同じです。
ありがとうございます!繰り返しの使用を加えることなく
私は、私は完全にあなたが達成しようとしているのか理解しているかどうかを知るではないが、なぜちょうど月の最後の日をつかむと、それが6未満日間離れていた場合に表示されていない:カスタム日付を設定する
?参照してください:http://stackoverflow.com/questions/42950/get-last-day-of-the-month-in-python –
'1 <= weekFromToday.day'これは「今日からの週」が嘘である場合にのみTrueになります月の初日に –
@ TadhgMcDonald-Jensenあなたは正しいです!私はそれを変更する必要があります。範囲を作成し、day = 1がその中にあるかどうかを確認する必要がありますか?もしそうなら、それを印刷する。 – tkyass