p.
	The date data type has two attribute options, <code>data-min-date</code> and <code>data-max-date</code>, for setting min/max valid dates and those that are visible in the datepicker widget. These dates may be set by either a specific date string in the format <code>"YYYY-MM-DD"</code> or by a collection of date offsets.

p.
	Date offsets must match the format <code>/[+-]*\d+\!?[dmyw]/gi</code> and is an offset from the current date. Multple offsets can be in one string and are applied in order of unit size, largest to smallest. Multiple offsets with the same unit will be evaluated left to right.

p.
	By default, each offset will round the date to the start or end of the offset unit when subtracting or adding, respectively. This can be disabled with the <code>data-no-rounding</code> attribute. Combining addition/subtration with the same unit is particularly useful when you want to get a specific date that is partially relative to the current date. As a result, +0x/-0x can be used to move to the end/start of unit x, changing any smaller units to match that fact.

p.
	Rounding may also be disabled on a per-offset unit basis by adding a '!' before the unit character. Other offsets without it will still be rounded unless the no-rounding option is set. For example in "+1!y+0m" will evaluate as "the end of this month next year". 

p Examples for displayed values (local):

.example
	input(
		type="text" data-type="date"
		data-min-date="1995-06-07"
		data-max-date="2020-02-20"
		data-label="min-date=\"1995-06-07\" max-date=\"2020-02-20\""
	)
	span on 2016-01-05 the range would be [1995-06-07, 2020-02-20]<br/>
	span on 2000-05-20 the range would be [1995-06-07, 2020-02-20]

.example
	input(
		type="text" data-type="date"
		data-min-date="-5y"
		data-max-date="+1m"
		data-label="min-date=\"-5y\" max-month=\"+1m\""
	)
	span on 2016-01-05 the range would be [2015-01-05, 2016-02-29]<br/>
	span on 2000-05-20 the range would be [1995-01-01, 2000-06-30]

.example
	input(
		type="text" data-type="date"
		data-min-date="0d"
		data-max-date="+60d"
		data-label="min-date=\"0d\" max-date=\"+60d\""
	)
	span on 2016-01-05 the range would be [2015-01-05, 2016-03-05]<br/>
	span on 2000-05-20 the range would be [1995-05-20, 2000-07-19]

.example
	input(
		type="text" data-type="date"
		data-max-date="+2y"
		data-label="max-date=\"+2y\""
	)
	span on 2016-01-05 the range would be (beg. of time, 2018-12-31]<br/>
	span on 2000-05-20 the range would be (beg. of time, 2002-12-31]

.example
	input(
		type="text" data-type="date"
		data-min-date="-1y+1m-0m+5d"
		data-max-date="+1y-0m+2y"
		data-label="min-date=\"-1y+1m-0m+5d\" max-date=\"+1y-0m+2y\""
	)
	span on 2016-01-05 the range would be [2016-02-06, 2019-12-01]<br/>
	span on 2000-05-20 the range would be [1999-02-06, 2003-12-01]

.example
	input(
		type="text" data-type="date"
		data-min-date="+1w-0w+1d"
		data-label="min-date=\"+1w-0w+1d\" (next Monday)"
	)
	span on 2016-01-05 the range would be [2016-01-11, end of time)<br/>
	span on 2000-05-20 the range would be [2000-05-08, end of time)

.example
	input(
		type="text" data-type="date"
		data-min-date="-1!y"
		data-max-date="+1y"
		data-label="min-date=\"-1!y\" max-date=\"+1y\""
	)
	span on 2016-01-05 the range would be [2015-01-05, 2017-12-31]<br/>
	span on 2000-05-20 the range would be [1999-05-08, 2001-12-31]