# RANGE

The `RANGE` field specifier (case sensitive) allows you to find documents in which a specified field contains a date that falls in the inclusive range of two dates specified by you.

NOTE: You can optimize the field specifier speed by restricting the field to the NumericDateType property type.

## Format

    FieldText=RANGE{yourDates}:yourFields

`yourDates` | Type two dates, separated by a comma (there must be no space before or after the comma). A document returns only if one of `yourFields` contains a date that falls within the inclusive time span specified by the specified dates. By default, the range is inclusive. You can use the greater than (<) and less than (>) symbols to specify an exclusive range. You can make either or both ends of the range exclusive.
`yourFields` | Type one or more fields. A document returns only if it contains one of these fields, and if this field contains a date that falls within the inclusive range of `yourDates`. Separate multiple fields with colons (`:`). There must be no space before or after a colon.

You can use the following formats to specify your dates:

Date formats

Format | Explanation
--- | ---
`D+/M+/#YY+` | A date. For example, `1/3/05`, `23/12/1999`, `10/07/40`, or `8/5/2012`. If the year is a number less than 40, it is read as a year in the 2000s. If the year is a number between 40 and 99, it is read as a year in the 1900s. For example, `01/02/01` is read as 1 February 2001, and `01/03/40` is read as 1 March 1940. IDOL Server treats the date as a date in its local timezone.
`YYYY-MM-DD` | A date in ISO-8601 format. For example, `2017-05-12`
`HH:NN:SS D+/M+/#YY+` | A time and date. For example, `10:30:45 1/3/05`, `18:55:00 23/12/99`, `01:23:45 10/07/1940`, or `07:15:00 8/5/2012`. If the year is a number less than 40, it is read as a year in the 2000s. If the year is a number between 40 and 99, it is read as a year in the 1900s. For example, `01/02/01` is read as 1 February 2001, and `01/03/40` is read as 1 March 1940. IDOL Server treats the date as a date in its local timezone.
`YYYY-MM-DDTHH:NN:SSZ` `YYYY-MM-DDTHH:NN:SS±HHMM` | A date and time in ISO-8601 formats, with a time zone (either as a literal Z, or a four digit time zone offset). For example, `2017-05-02T12:45:00Z`, or `2017-05-02T12:45:00+0000`.
`HH:NN:SS D+/M+/#YY+ #ADBC` | A time and date with a time period. For example, `10:30:45 1/3/05 AD`, `18:55:00 23/12/99 CE`. For the time period, you can use `AD`, `CE`, `BC`, `BCE`, or any predefined list of EPOCH indicators. IDOL Server treats the date as a date in its local timezone.
`N` | A positive or negative number of days from the current date. For example, `–1` specifies yesterday's date, `0` specifies today's date, `1` specifies tomorrow's date, `2` specifies two days from now (the current date plus two), and so on.
`Ns` | A positive or negative number of seconds from now. For example, `–60s` specifies one minute ago, `–900s` specifies 15 minutes ago, `–3600s` specifies one hour ago and so on. `60s` specifies one minute from now, `900s` specifies 15 minutes from now, `3600s` specifies one hour from now, and so on.
`Ne` | Epoch seconds (seconds since 1 January 1970 UTC). For example, `1012345000e` specifies 22:56:40 on 29 January 2002 UTC.

NOTE: IDOL Server treats any date that does not have explicit timezone information as a date in the local timezone, both in the index and in your query parameters. This behavior might result in non-intuitive matches.

For example, epoch second values are always UTC. The value `1012345000e` matches times as 22:56:40 on 29 January 2002 UTC. If your local timezone is GMT-6, this query might match an indexed date value of 03:56:40 on 29 January 2002 (which corresponds to the same time UTC), because the indexed date is in your local timezone.

Similarly, if your query date is `03:56:40 29/01/2002`, this might match an indexed epoch seconds date of `1012345000`.

You can specify an open-ended range by using a period (`.`):

- If you type a period for the first point in time, the beginning of the time period is not restricted (so the period ranges up to the specified date, including any date before the specified date).

- If you type a period for the second point in time, the end of the time period is not restricted (so the period ranges from the specified date, including any date after the specified date).

## Example

    FieldText=RANGE{01/01/90,1/1/01}:DATE

A document's `DATE` field must contain a date between 01/01/1990 and 1/1/2001 for this document to be returned.

    FieldText=RANGE{01/01/02,01/01/2003}:DATE:DATUM

A document's `DATE` or `DATUM` field must contain a date between 01/01/2002 and 01/01/2003 for this document to be returned.

    FieldText=RANGE{-14,-7}:DATE

A document's `DATE` field must contain a date 14 to 7 days before the current date for this document to be returned.

    FieldText=RANGE{0,1}:DATE

A document's `DATE` field must contain today's or tomorrow's date (which is possible, for example, if the document originates from a different time zone or if the field contains an expiry date) for this document to be returned.

    FieldText=RANGE{01/01/99,.}:DATE:FECHA

A document's `DATE` or `FECHA` field can contain any date after 01/01/1999 for this document to be returned.

    FieldText=RANGE{.,10/10/04}:DATE

A document's `DATE` field can contain any date before 10/10/2004 for this document to be returned.

    FieldText=RANGE{-172800s,-1}:DATE

A document's `DATE` field must contain a time between 48 and 24 hours ago.

    FieldText=RANGE{198765e,.}:DATE

A document's `DATE` field must contain a date between 198765 seconds after the epoch and the current time.

    FieldText=RANGE{>05/06/2013,05/06/2014}:DATE

A document's `DATE` field must contain a date after 05/06/2013, up to and including 05/06/2014.

_FT_HTML5_bannerTitle.htm