parameters: (dt: datetime, interval_seconds: int)
return_statement: return dt + timedelta(0, rounding - seconds, -dt.microsecond)
docstring: Floor a datetime object to a time-span in seconds
      interval_seconds: Closest number of seconds to floor to
  
      For example, if floor_time is invoked with `interval_seconds` of 15,
      the provided datetime is rounded down to the nearest 15 minute interval.
      E.g. 10:48 rounds to 10:45, 11:02 rounds to 11:00, etc.
docstring_summary: Floor a datetime object to a time-span in seconds
      interval_seconds: Closest number of seconds to floor to
docstring_tokens: Floor a datetime object to a time - span in seconds interval_seconds : Closest number of seconds to floor to
function: def floor_time(dt: datetime, interval_seconds: int):
      """
      Floor a datetime object to a time-span in seconds
      interval_seconds: Closest number of seconds to floor to
  
      For example, if floor_time is invoked with `interval_seconds` of 15,
      the provided datetime is rounded down to the nearest 15 minute interval.
      E.g. 10:48 rounds to 10:45, 11:02 rounds to 11:00, etc.
      """
      seconds = (dt.replace(tzinfo=None) - dt.min).seconds
      rounding = seconds // interval_seconds * interval_seconds
      return dt + timedelta(0, rounding - seconds, -dt.microsecond)
function_tokens: def floor_time ( dt : datetime , interval_seconds : int ) : seconds = ( dt . replace ( tzinfo = None ) - dt . min ) . seconds rounding = seconds // interval_seconds * interval_seconds return dt + timedelta ( 0 , rounding - seconds , - dt . microsecond )