# Before test

Learn how to check if a date time is before another.

This test checks whether a date or instant is before another. It is the opposite of the [after test](/reference/cql/expressions/tests/date-time/after).

When comparing dates, this test first converts both values to an instant based on the time zone set at the [application level](/explanation/application/overview). Then it compares the instants using the same rules as relational operators to ensure consistency with the [less than operation](/reference/cql/expressions/tests/comparison/less-than).

For more information about how dates are converted to instants, see the section on [Date-time conversion](/reference/cql/conversions#date-time).

> **How does it differ from the less-than test?**
>
> This test converts its arguments to instants before comparing them, while the [less than test](/reference/cql/expressions/tests/comparison/less-than) simply fails if the arguments are incompatible.

## Syntax

This test has the following syntax:

```cql
/*<value>*/ before /*<instant>*/
```

To negate the test, you can write:

```cql
/*<value>*/ is not before /*<instant>*/
```

## Parameters

These are the supported parameters:

- `value`: `Date | DateTime`

  The date time to compare with the reference value.

- `reference`: `Date | DateTime`

  The date time to compare against.

## Examples

Here is a basic example of how to compare two dates:

```cql
yesterday is before  "2026-08-11" // true
```

You can use any valid ISO 8601 [date-time string](https://en.wikipedia.org/wiki/ISO_8601#dates) as an argument.
