我想查看給定月份的日期。例如,如果我輸入的是2017年和2月或2月,我希望收到該月份的所有日期,本例中爲01-28.02.2017。如何查看基於Python和年月的日期
是否可以在Python中完成?試圖找到使用谷歌的東西,但沒有成功。
由於提前,
我想查看給定月份的日期。例如,如果我輸入的是2017年和2月或2月,我希望收到該月份的所有日期,本例中爲01-28.02.2017。如何查看基於Python和年月的日期
是否可以在Python中完成?試圖找到使用谷歌的東西,但沒有成功。
由於提前,
有一個在標準庫這樣的功能:itermonthdates()
。
from calendar import Calendar
for date in Calendar().itermonthdates(2017, 2):
print(date)
您可能需要if date.month == 2
過濾的日期,因爲它將包含從以前的和未來數月天,如果他們屬於同一個星期。
這是否考慮了閏年? – mikey
@mikey是的,它的確如此。 –
so'for date in(d for d in Calendar()。itermonthdates(2017,2)if d.month == 2)' –
另外,正如Mark在評論中所建議的,如果你知道這個月,那麼你可以自己做。
import calendar
year, month = 2017, 2
def days_in_month(date):
if calendar.isleap(date.year) and date.month == 2:
return 29
else:
return [None, 31, 28, 31, 30, 31, 30, ...][date.month]
date = datetime.date(year=year, month=month)
dates = [datetime.date(year=year, month=month, day=d) for d in range(1, days_in_month(date)+1)]
[獲取在Python中每月的最後一天(https://stackoverflow.com/questions/42950/get-last-day-of-the-month-in-python) – Mark
我的可能的複製我不是在尋找月份的最後一天但是所有的日子 –
每個月都從第1天開始。如果你知道第一天和最後一天,那麼你也知道它們之間的一切。 – Mark