| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | # Author renyupeng# coding=utf-8# @Time    : 2021/9/15 11:06 上午# @Site    :# @File    : Utils.py# @Software: PyCharm# @contact: renyupeng@c-top.com.cnimport argparseimport datetimefrom datetime import timedelta, datefrom  datetime import datetime as dtimport calendarclass Utils:    """    参数获取工具类    """    @staticmethod    def get_args():        parser = argparse.ArgumentParser(description='')        parser.add_argument('-start_time', type=str, default=None, help="TX_DT")        parser.add_argument('-end_time', type=str, default=None, help="TX_DT")        args = parser.parse_args()        start_time = args.start_time        end_time = args.end_time        return start_time, end_time    @staticmethod    def get_task_args():        parser = argparse.ArgumentParser(description='')        parser.add_argument('-date_time', type=str, default=None, help="TX_DT")        parser.add_argument('-day_count', type=int, default=None, help="DAY")        args = parser.parse_args()        date_time = args.date_time        day_count = args.day_count        return date_time, day_count    @staticmethod    def get_live_args():        parser = argparse.ArgumentParser(description='')        parser.add_argument('-date_time', type=str, default=None, help="TX_DT")        args = parser.parse_args()        date_time = args.date_time        return date_time    @staticmethod    def get_month_range(start_date=None):        if start_date is None:            start_date = date.today().replace(day=1)            _, days_in_month = calendar.monthrange(start_date.year, start_date.month)        if date.today().day == 1:            end_date = start_date        else:            end_date = start_date + timedelta(days=days_in_month)        return start_date, end_date    @staticmethod    def get_days():        yesterday = (datetime.date.today() + datetime.timedelta(-1)).strftime("%Y-%m-%d")        ll = []        day = timedelta(days=1)        startday, endday = Utils.get_month_range()        if startday == endday:            mon = (datetime.date.today() + datetime.timedelta(-1)).strftime("%m")            startday = """{year}-{month}-01""".format(year=startday.year, month=mon)            startday = datetime.datetime.date(dt.strptime(startday, '%Y-%m-%d'))            print(startday)        else:            endday = endday        while startday < endday:            ll.append(str(startday))            startday += day        lt = ll.index(yesterday)        return ltif __name__ == '__main__':    print(Utils.get_days())
 |