簡體   English   中英

生成特定月份的日期?

[英]Generate dates for a particular month?

輸入月份和年份后,有什么方法可以生成特定月份的所有日期?

我有

daterange = date_range(date1, date2)
dates=[]
for x in daterange:
    dates.append((x.strftime('%Y-%m-%d')))

使用大熊貓,但如何計算不同的月份長度?

您可以使用pd.offsets.MonthBegin ,然后使用每日結束日期范圍:

dts = pd.date_range(month_start, month_start + pd.offsets.MonthBegin(1), closed="left") 

您可以使用日歷模塊執行此操作:

import calendar
date_of_first_weekday, number_days_in_month = calendar.monthrange(year, month)

calendar模塊具有您所需的全部:

import calendar
first_weekday, month_days = calendar.monthrange(year, month)
for mday in xrange(1, month_days + 1):
    print mday

我發現我無法在系統上導入calendar ,因此這是僅datetime解決方案:

from datetime import date, timedelta

month, year = 2, 2008

day = timedelta(days=1)
date1 = date(year, month, 1)
dates = []
d = date1
while d.month == month:
    dates.append(d)
    d += day

(創建2008年2008年2月的日期列表)。 如果要使用日期的字符串表示形式,可以使用:

from datetime import timedelta, datetime

month, year = 2, 2008

day = timedelta(days=1)
date1 = datetime(year, month, 1)
d = date1
dates = []
while d.month == month:
    dates.append(d.strftime('%Y-%m-%d'))
    d += day

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM