123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- # Author renyupeng
- # coding=utf-8
- # @Time : 2021/9/15 11:06 上午
- # @Site :
- # @File : Utils.py
- # @Software: PyCharm
- # @contact: renyupeng@c-top.com.cn
- import argparse
- import datetime
- from datetime import timedelta, date
- from datetime import datetime as dt
- import calendar
- class 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 lt
- if __name__ == '__main__':
- print(Utils.get_days())
|