docs: def round_to_nearest(dt, n_round_sec=1.0):
      """Round datetime up or down to nearest divisor.
  
      Round datetime up or down to nearest number of seconds that divides evenly by
      the divisor.
  
      Any timezone is preserved but ignored in the rounding.
  
      Args:
        dt: datetime
  
        n_round_sec : int or float
          Divisor for rounding
  
      Examples:
        - ``n_round_sec`` = 0.1: nearest 10th of a second.
        - ``n_round_sec`` = 1: nearest second.
        - ``n_round_sec`` = 30: nearest half minute.
  
      """
      ts = ts_from_dt(strip_timezone(dt)) + n_round_sec / 2.0
      res = dt_from_ts(ts - (ts % n_round_sec))
      return res.replace(tzinfo=dt.tzinfo)