#!/usr/bin/env python
import datetime

# 获取过去几天的日期
def get_last_days(delta):
    days = []
    now = datetime.datetime.now()
    for i in range(1, delta):
        last_date = now + datetime.timedelta(days=-i)
        last_date_str = last_date.strftime('%Y-%m-%d')  # 格式化输出
        days.append(last_date_str)
    days.sort()
    return days

class DateNext(object):

    def get_next_week_date(self, weekday):
        # 获取下周几的日期
        # weekday取值如下:
        # (MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY) = range(7)

        today = datetime.date.today()
        onday = datetime.timedelta(days=1)
        # m1 = calendar.MONDAY
        while today.weekday() != weekday:
            today += onday

        # logging.info(datetime.date(today.year, today.month, today.day))
        nextWeekDay = today.strftime('%Y-%m-%d')
        return nextWeekDay

    def get_next_month_date(self, day_of_the_month):
        # 获取下个月几号的日期
        today_date = datetime.datetime.today()
        today = today_date.day
        if today == day_of_the_month:
            return today_date.strftime('%Y-%m-%d')
        if today < day_of_the_month:
            return datetime.date(today_date.year, today_date.month, day_of_the_month).strftime('%Y-%m-%d')
        if today > day_of_the_month:
            if today_date.month == 12:
                return datetime.date(today_date.year+1, 1, day_of_the_month).strftime('%Y-%m-%d')
            return datetime.date(today_date.year, today_date.month+1, day_of_the_month).strftime('%Y-%m-%d')