# cf.TimeDuration.bounds

`TimeDuration.``bounds`(dt, calendar=None, direction=True)

  Return a time interval containing a date-time.

  The interval spans the time duration and starts and ends at date-times consistent with the time duration’s offset.

  See also

  `cf.dt`, `cf.Datetime`, `interval`

  New in version 1.2.3.

  Examples 1: |

      >>> t = cf.M()
      >>> t.bounds(cf.dt(2000, 1, 1))
      (<CF Datetime: 2000-1-1 00:00:00>, <CF Datetime: 2000-2-1 00:00:00>)

  Parameters: | dt: date-time-like The date-time to be contained by the interval. dt may be any date-time-like object, such as `cf.Datetime`, `datetime.datetime`, `netCDF4.netcdftime.datetime`, etc. Example: To find bounds around 1999-16-1 in the Gregorian calendar you could use `dt=cf.dt(1999, 1, 16)` or `dt=datetime.datetime(1999, 1, 16)` (See `cf.dt` for details). calendar: `str`, optional Define the CF calendar for the input date-time and output time interval. By default the calendar of the input date-time is used. If calendar is set, then the calendar of the input date-time is overridden. Example: To set a calendar without leap years: `calendar='noleap'`. direction: bool, optional If False then the bounds are decreasing. By default the bounds are increasing. Note that `t.bounds(dt, direction=False)` is equivalent to `t.bounds(dt)[::-1]`.
  Returns: | out: (`cf.Datetime`, `cf.Datetime`)
  Examples 2: |

      >>> t = cf.M(1)
      >>> t.bounds(cf.dt(2000, 3, 1))
      (<CF Datetime: 2000-03-01 00:00:00>, <CF Datetime: 2000-04-01 00:00:00>)

      >>> t = cf.M(1, day=15)
      >>> t.bounds(cf.dt(2000, 3, 1))
      (<CF Datetime: 2000-02-15 00:00:00>, <CF Datetime: 2000-03-15 00:00:00>)

      >>> t = cf.M(2, day=15)
      >>> t.bounds(cf.dt(2000, 3, 1), direction=False)
      (<CF Datetime: 2000-03-15 00:00:00>, <CF Datetime: 2000-01-15 00:00:00>)