python根据开始结束日期解析获得日周月
(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
本文名称:python根据开始结束日期解析获得日周月
本文地址:http://myzitong.com/article/gcsice.html