import datetime import calendar def get_dates_in_weeks(number_of_weeks=None): """ With this function, we can get list days which are contained in 1 week, 2 weeks...from today The results: [datetime.date(2014, 1, 1), datetime.date(2014, 1, 2), datetime.date(2014, 1, 3), datetime.date(2014, 1, 4), datetime.date(2014, 1, 5), datetime.date(2014, 1, 6), datetime.date(2014, 1, 7)] """ if number_of_weeks is None: number_of_weeks = 1 days = number_of_weeks * 7 today = datetime.date.today() weekday = today.weekday() start_delta = datetime.timedelta(days=weekday) start_of_week = today - start_delta week_dates = [start_of_week + datetime.timedelta(days=i) for i in range(days)] return week_dates def get_dates_in_current_month(): """ Get all days in current month The results: [datetime.date(2014, 1, 1), datetime.date(2014, 1, 2), datetime.date(2014, 1, 3),..., datetime.date(2014, 1, 29), datetime.date(2014, 1, 30), datetime.date(2014, 1, 31)] """ today = datetime.date.today() year = today.year month = today.month num_days = calendar.monthrange(year, month)[1] days = [datetime.date(year, month, day) for day in range(1, num_days+1)] return days if __name__ == '__main__': # Show days in a week print get_dates_in_weeks() # Show days in 2 week print get_dates_in_weeks(2) # Show days in current month print get_dates_in_current_month()
Standard input is empty
[datetime.date(2014, 2, 17), datetime.date(2014, 2, 18), datetime.date(2014, 2, 19), datetime.date(2014, 2, 20), datetime.date(2014, 2, 21), datetime.date(2014, 2, 22), datetime.date(2014, 2, 23)] [datetime.date(2014, 2, 17), datetime.date(2014, 2, 18), datetime.date(2014, 2, 19), datetime.date(2014, 2, 20), datetime.date(2014, 2, 21), datetime.date(2014, 2, 22), datetime.date(2014, 2, 23), datetime.date(2014, 2, 24), datetime.date(2014, 2, 25), datetime.date(2014, 2, 26), datetime.date(2014, 2, 27), datetime.date(2014, 2, 28), datetime.date(2014, 3, 1), datetime.date(2014, 3, 2)] [datetime.date(2014, 2, 1), datetime.date(2014, 2, 2), datetime.date(2014, 2, 3), datetime.date(2014, 2, 4), datetime.date(2014, 2, 5), datetime.date(2014, 2, 6), datetime.date(2014, 2, 7), datetime.date(2014, 2, 8), datetime.date(2014, 2, 9), datetime.date(2014, 2, 10), datetime.date(2014, 2, 11), datetime.date(2014, 2, 12), datetime.date(2014, 2, 13), datetime.date(2014, 2, 14), datetime.date(2014, 2, 15), datetime.date(2014, 2, 16), datetime.date(2014, 2, 17), datetime.date(2014, 2, 18), datetime.date(2014, 2, 19), datetime.date(2014, 2, 20), datetime.date(2014, 2, 21), datetime.date(2014, 2, 22), datetime.date(2014, 2, 23), datetime.date(2014, 2, 24), datetime.date(2014, 2, 25), datetime.date(2014, 2, 26), datetime.date(2014, 2, 27), datetime.date(2014, 2, 28)]