docs: def midnight(arg=None):
      """
      convert date to datetime as midnight or get current day's midnight
      :param arg: string or date/datetime
      :return: datetime at 00:00:00
      """
      if arg:
          _arg = parse(arg)
          if isinstance(_arg, datetime.date):
              return datetime.datetime.combine(_arg, datetime.datetime.min.time())
          elif isinstance(_arg, datetime.datetime):
              return datetime.datetime.combine(_arg.date(), datetime.datetime.min.time())
      else:
          return datetime.datetime.combine(_date, datetime.datetime.min.time())