(b_datedays): day = datetime.timedelta(=) i (days): b_date + day * i (start_date=end_date=): (start_datedatetime.datetime) (end_datedatetime.datetime): start = start_date end = end_date : start = datetime.datetime.strptime(start_date) end = datetime.datetime.strptime(end_date) end = end + datetime.timedelta(=) data = [] d gen_dates(start(end - start).days): data.append(d.strftime()) data
ParseDate(TimeSpecType):
DaysOneWeek = DaysOneWeek
DaysOneMonth = DaysOneMonth ():
.__choices__ = (
(.day.parse_date_by_day)(.week.parse_date_by_week)(.month.parse_date_by_month)
)
(value):
_names = ((e[]e[]) e .__choices__)
_names.get(value) (value):
_names = ((e[]e[]) e .__choices__)
_names.get(value) (start_dateend_date):
weeklist = []
(start_datedatetime.datetime) (end_datedatetime.datetime):
start = start_date
end = end_date
:
start = datetime.datetime.strptime(start_date)
end = datetime.datetime.strptime(end_date)
max_timedelta = end - start
max_weeks = (math.ceil(max_timedelta.days / .DaysOneWeek) + ) first_start_week_day = start.weekday()
first_week_sunday = start + datetime.timedelta(=(.DaysOneWeek - first_start_week_day - )) first_week_sunday >= end:
temp = {: start: end}
weeklist.append(temp)
weeklist
:
temp = {: start: first_week_sunday}
weeklist.append(temp)
i (max_weeks):
monday = first_week_sunday + datetime.timedelta(==i)
sunday = monday + datetime.timedelta(=)
monday >= end:
temp = {: monday: end}
weeklist.append(temp)
sunday <= end:
temp = {: monday: sunday}
weeklist.append(temp)
:
temp = {: monday: end}
weeklist.append(temp)
weeklist
(start_dateend_date):
monthlist = []
(start_datedatetime.datetime) (end_datedatetime.datetime):
start = start_date
end = end_date
:
start = datetime.datetime.strptime(start_date)
end = datetime.datetime.strptime(end_date)
max_timedelta = end - start
max_months = (math.ceil(max_timedelta.days / .DaysOneMonth) + ) first_month = start.month first_year = start.year firstDayWeekDaymonthlen = calendar.monthrange(first_yearfirst_month)
last_day_of_first_month = datetime.datetime(=first_year=first_month=monthlen) last_day_of_first_month >= end:
temp = {: start: end}
monthlist.append(temp)
monthlist
:
temp_first_day = last_day_of_first_month + datetime.timedelta(=)
temp = {: start: last_day_of_first_month}
monthlist.append(temp)
i (max_months):
year = temp_first_day.year
month = temp_first_day.month
firstDayWeekDaymonthRange = calendar.monthrange(yearmonth)
temp_last_day = datetime.datetime(=year=month=monthRange)
temp_first_day >= end:
temp = {: temp_first_day: end}
monthlist.append(temp)
temp_last_day <= end:
temp = {: temp_first_day: temp_last_day}
monthlist.append(temp)
temp_first_day = temp_last_day + datetime.timedelta(=)
:
temp = {: temp_first_day: end}
monthlist.append(temp)
monthlist
(start_dateend_date):
daylist = []
days = get_date_list(start_dateend_date)
day days:
day_datetime = datetime.datetime.strptime(day)
temp = {: day_datetime: day_datetime}
daylist.append(temp)
daylist
網(wǎng)站欄目:python根據(jù)開始結(jié)束日期解析獲得日周月
轉(zhuǎn)載來源:http://www.yijiale78.com/article24/gcsice.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、移動網(wǎng)站建設(shè)、建站公司、定制開發(fā)、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)