Utils.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. # Author renyupeng
  2. # coding=utf-8
  3. # @Time : 2021/9/15 11:06 上午
  4. # @Site :
  5. # @File : Utils.py
  6. # @Software: PyCharm
  7. # @contact: renyupeng@c-top.com.cn
  8. import argparse
  9. import datetime
  10. from datetime import timedelta, date
  11. from datetime import datetime as dt
  12. import calendar
  13. class Utils:
  14. """
  15. 参数获取工具类
  16. """
  17. @staticmethod
  18. def get_args():
  19. parser = argparse.ArgumentParser(description='')
  20. parser.add_argument('-start_time', type=str, default=None, help="TX_DT")
  21. parser.add_argument('-end_time', type=str, default=None, help="TX_DT")
  22. args = parser.parse_args()
  23. start_time = args.start_time
  24. end_time = args.end_time
  25. return start_time, end_time
  26. @staticmethod
  27. def get_task_args():
  28. parser = argparse.ArgumentParser(description='')
  29. parser.add_argument('-date_time', type=str, default=None, help="TX_DT")
  30. parser.add_argument('-day_count', type=int, default=None, help="DAY")
  31. args = parser.parse_args()
  32. date_time = args.date_time
  33. day_count = args.day_count
  34. return date_time, day_count
  35. @staticmethod
  36. def get_month_range(start_date=None):
  37. if start_date is None:
  38. start_date = date.today().replace(day=1)
  39. _, days_in_month = calendar.monthrange(start_date.year, start_date.month)
  40. if date.today().day == 1:
  41. end_date = start_date
  42. else:
  43. end_date = start_date + timedelta(days=days_in_month)
  44. return start_date, end_date
  45. @staticmethod
  46. def get_days():
  47. yesterday = (datetime.date.today() + datetime.timedelta(-1)).strftime("%Y-%m-%d")
  48. ll = []
  49. day = timedelta(days=1)
  50. startday, endday = Utils.get_month_range()
  51. if startday == endday:
  52. mon = (datetime.date.today() + datetime.timedelta(-1)).strftime("%m")
  53. startday = """{year}-{month}-01""".format(year=startday.year, month=mon)
  54. startday = datetime.datetime.date(dt.strptime(startday, '%Y-%m-%d'))
  55. print(startday)
  56. else:
  57. endday = endday
  58. while startday < endday:
  59. ll.append(str(startday))
  60. startday += day
  61. lt = ll.index(yesterday)
  62. return lt
  63. if __name__ == '__main__':
  64. print(Utils.get_days())