# Date operators

Every condition cell in [decision table](https://docs.decisionrules.io/doc/~/changes/VuchuDyabVa3NSXAKjpZ/decision-tables/decision-table-designer) can have a different operator. These are the general operators which you can choose from:

![](https://437457296-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MN4F4-qybg8XDATvios%2Fuploads%2FRrqLzoFCgo1FP5k3vEE6%2Fdate_funcs.png?alt=media\&token=c070ac0c-8064-4368-86a7-007bdd34a82c)

## How to use date operators

By choosing any of the operators, date and time are set to **None,** and the time zone is set to **GTM+1:00.**

{% hint style="danger" %}
Without choosing a specific **Date** or **Time** (at least one), you can not save the condition!\
Even if you have a set **Time zone.**
{% endhint %}

![](https://437457296-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MN4F4-qybg8XDATvios%2F-MW3iOadHQmPoBCvP-2X%2F-MW3qyZyoGhqbnLkoW_i%2Fimage.png?alt=media\&token=c094bce7-88b0-4c5e-b89f-775cd31b5b03)

By clicking on ![](https://437457296-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MN4F4-qybg8XDATvios%2F-MW3iOadHQmPoBCvP-2X%2F-MW3s0FyFINxzdWS_V1A%2Fimage.png?alt=media\&token=22558ad9-be53-42e5-82a5-070a1587443f) or ![](https://437457296-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MN4F4-qybg8XDATvios%2F-MW3iOadHQmPoBCvP-2X%2F-MW3s9itKjc1vdb6Dso9%2Fimage.png?alt=media\&token=3d17c326-dbba-4cf5-b423-79714f8fa8b7) modal window is shown, where you:white\_check\_mark:, if you want to set a specific **date** or **time.**

{% hint style="warning" %}
By :white\_check\_mark:selecting a date or time, a current date/time is set.
{% endhint %}

![Date select window](https://437457296-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MN4F4-qybg8XDATvios%2F-MW3iOadHQmPoBCvP-2X%2F-MW3rkvTzBs1RLuVHlef%2Fimage.png?alt=media\&token=7735003a-2d8b-48c1-8248-8fc83380a443)

![Specific date select](https://437457296-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MN4F4-qybg8XDATvios%2F-MW3iOadHQmPoBCvP-2X%2F-MW3t59x-ltwV16MB2Wf%2Fimage.png?alt=media\&token=f98b2e8a-6e85-4e5b-92e2-8a78d7ec694a)

#### Request input format

Request input **must be** in a specific format, which is shown below. The order of date, time and timezone, does not affect the result.

```javascript
"date": "YYYY-MM-DD",
"time": "HH:MM",
"timezone": "+/-HH:MM"
```

### Equals Operator (=)

Compares two date values. The equal operator compares:

* Date

#### Equal Operator examples:

```javascript
[request value] = [table value]

"date": "2021-03-18"         date: "2021-03-18"
"time": "08:53"         =    time: "08:53"        //true
"timezone": "+01:00"         timezone: "+01:00"

"date": "2021-03-17"         date: "2021-03-17"
"time": null            =    time: null           //true
"timezone": "+01:00"         timezone: "+01:00"

"date": null                 date: null            
"time": "08:53"         =    time: "08:53"        //true
"timezone": "+01:00"         timezone: "+01:00"

"date": "2021-03-18"         date: "2021-03-18"
"time": "08:53"         =    time: null           //false
"timezone": "+01:00"         timezone: "+01:00"

"date": null                 date: "2021-03-18"
"time": "08:53"         =    time: "08:53"        //false
"timezone": "+01:00"         timezone: "+01:00"
```

### Greater than OR Equal Operator (>=)

The greater than or equal operator (`>=`) returns `true` if the left operand is greater than or equal to the right operand, and `false` otherwise.

#### Greater than OR Equal Operator examples:

```javascript
[request value] >= [table value]

"date": "2021-03-18"         date: "2021-03-18"
"time": "08:53"        >=    time: "08:53"        //true
"timezone": "+01:00"         timezone: "+01:00"

"date": "2021-03-18"         date: "2021-03-18"
"time": "09:53"        >=    time: "08:53"        //true
"timezone": "+03:00"         timezone: "+01:00"

"date": "2021-03-20"         date: "2021-03-18"
"time": null           >=    time: null           //true
"timezone": "+01:00"         timezone: "+01:00"

"date": null                 date: null            
"time": "08:53"        >=    time: "08:53"        //true
"timezone": "+01:00"         timezone: "+01:00"

"date": null                 date: null            
"time": "08:53"        >=    time: "10:53"        //false
"timezone": "+04:00"         timezone: "+01:00"

"date": "2021-03-18"         date: "2021-03-18"
"time": null           >=    time: null           //false
"timezone": "+04:00"         timezone: "+01:00"

"date": "2021-03-20"         date: "2021-03-18"
"time": "08:53"        >=    time: null           //false
"timezone": "+01:00"         timezone: "+01:00"

"date": null                 date: "2021-03-18"
"time": "08:53"        >=    time: "08:53"        //false
"timezone": "+01:00"         timezone: "+01:00"
```

### Greater Operator (>)

The greater operator (`>`) returns `true` if the left operand is greater than the right operand, and `false` otherwise.

#### Greater Operator examples:

```javascript
[request value] > [table value]

"date": "2021-03-18"         date: "2021-03-18"
"time": "09:53"         >    time: "08:53"        //true
"timezone": "+01:00"         timezone: "+01:00"

"date": "2021-03-20"         date: "2021-03-18"
"time": "08:53"         >    time: "08:53"        //true
"timezone": "+03:00"         timezone: "+01:00"

"date": "2021-03-20"         date: "2021-03-18"
"time": null            >    time: null           //true
"timezone": "+01:00"         timezone: "+01:00"

"date": null                 date: null            
"time": "09:53"         >    time: "08:53"        //true
"timezone": "+01:00"         timezone: "+01:00"

"date": "2021-03-18"         date: "2021-03-18"
"time": "08:53"         >    time: "08:53"        //false
"timezone": "+01:00"         timezone: "+01:00"

"date": null                 date: null            
"time": "10:53"         >    time: "08:53"        //false
"timezone": "+04:00"         timezone: "+01:00"

"date": "2021-03-18"         date: "2021-03-18"
"time": null            >    time: null           //false
"timezone": "+04:00"         timezone: "+01:00"

"date": "2021-03-20"         date: "2021-03-18"
"time": "08:53"         >    time: null           //false
"timezone": "+01:00"         timezone: "+01:00"

"date": null                 date: "2021-03-18"
"time": "08:53"         >    time: "08:53"        //false
"timezone": "+01:00"         timezone: "+01:00"
```

### Less than OR Equal Operator (<=)

The less than or equal operator (`<=`) returns `true` if the left operand is less than or equal to the right operand, and `false` otherwise.

#### Less than OR Equal Operator examples:

```javascript
[request value] <= [table value]

"date": "2021-03-18"         date: "2021-03-18"
"time": "08:53"        <=    time: "08:53"        //true
"timezone": "+01:00"         timezone: "+01:00"

"date": "2021-03-18"         date: "2021-03-18"
"time": "07:53"        <=    time: "08:53"        //true
"timezone": "+03:00"         timezone: "+01:00"

"date": "2021-03-10"         date: "2021-03-18"
"time": null           <=    time: null           //true
"timezone": "+01:00"         timezone: "+01:00"

"date": null                 date: null            
"time": "08:53"        <=    time: "08:53"        //true
"timezone": "+01:00"         timezone: "+01:00"

"date": null                 date: null            
"time": "08:53"        <=    time: "10:53"        //false
"timezone": "-04:00"         timezone: "+01:00"

"date": "2021-03-18"         date: "2021-03-18"
"time": null           <=    time: null           //false
"timezone": "-04:00"         timezone: "+01:00"

"date": "2021-03-20"         date: "2021-03-18"
"time": "08:53"        >=    time: null           //false
"timezone": "+01:00"         timezone: "+01:00"

"date": null                 date: "2021-03-18"
"time": "08:53"        <=    time: "08:53"        //false
"timezone": "+01:00"         timezone: "+01:00"
```

### Less than Operator (<)

The less than operator (`<`) returns `true` if the left operand is less than the right operand, and `false` otherwise.

#### Less than Operator examples:

```javascript
[request value] < [table value]

"date": "2021-03-18"         date: "2021-03-18"
"time": "07:53"         <    time: "08:53"        //true
"timezone": "+01:00"         timezone: "+01:00"

"date": "2021-03-10"         date: "2021-03-18"
"time": "08:53"         <    time: "08:53"        //true
"timezone": "+03:00"         timezone: "+01:00"

"date": "2021-03-10"         date: "2021-03-18"
"time": null            <    time: null           //true
"timezone": "+01:00"         timezone: "+01:00"

"date": null                 date: null            
"time": "07:53"         <    time: "08:53"        //true
"timezone": "+01:00"         timezone: "+01:00"

"date": "2021-03-18"         date: "2021-03-18"
"time": "08:53"         <    time: "08:53"        //false
"timezone": "+01:00"         timezone: "+01:00"

"date": null                 date: null            
"time": "07:53"         <    time: "08:53"        //false
"timezone": "-04:00"         timezone: "+01:00"

"date": "2021-03-18"         date: "2021-03-18"
"time": null            <    time: null           //false
"timezone": "-04:00"         timezone: "+01:00"

"date": "2021-03-20"         date: "2021-03-18"
"time": "08:53"         <    time: null           //false
"timezone": "+01:00"         timezone: "+01:00"

"date": null                 date: "2021-03-18"
"time": "08:53"         <    time: "08:53"        //false
"timezone": "+01:00"         timezone: "+01:00"
```

### Not Equal Operator (<>)

Compares two dates. The not equal operator compares:

* Date

#### Not Equal Operator examples:

```javascript
[request value] <> [table value]

"date": "2021-03-18"         date: "2021-03-18"
"time": "08:53"        <>    time: "08:53"        //false
"timezone": "+01:00"         timezone: "+01:00"

"date": "2021-03-17"         date: "2021-03-17"
"time": null           <>    time: null           //false
"timezone": "+01:00"         timezone: "+01:00"

"date": "2021-03-18"         date: "2021-03-18"
"time": "08:53"        <>    time: null           //false
"timezone": "+01:00"         timezone: "+01:00"

"date": null                 date: "2021-03-18"
"time": "08:53"        <>    time: "08:53"        //false
"timezone": "+01:00"         timezone: "+01:00"

"date": "2021-03-20"         date: "2021-03-18"
"time": "08:53"        <>    time: "08:53"        //true
"timezone": "+01:00"         timezone: "+01:00"

"date": null                 date: null            
"time": "10:53"        <>    time: "08:53"        //true
"timezone": "+01:00"         timezone: "+01:00"
```

### **Between** Operator (between)

The between operator (`between`) returns `true` if the left operand is between or equal to the right operand, and `false` otherwise.

#### Between Operator examples:

```javascript
[request value] between [table value]

                                  date: "2021-03-18"
                                  time: "08:53"
"date": "2021-05-18"              timezone: "+01:00"
"time": "08:53"         between           AND          //true
"timezone": "+01:00"              date: "2022-03-18"
                                  time: "08:53"
                                  timezone: "+01:00"

 //---------------------------------------------------------- 

                                  date: "2021-03-18"
                                  time: "08:53"
"date": "2021-03-18"              timezone: "+01:00"
"time": "08:53"         between           AND          //true
"timezone": "+01:00"              date: "2021-03-18"
                                  time: "08:53"
                                  timezone: "+01:00"

 //---------------------------------------------------------- 
 
                                  date: "2021-03-18"
                                  time: "08:53"
"date": "2021-05-18"              timezone: "+01:00"
"time": "14:53"         between           AND          //true
"timezone": "+05:00"              date: "2021-03-18"
                                  time: "08:53"
                                  timezone: "+01:00"

 //---------------------------------------------------------- 
  
                                  date: null
                                  time: "08:53"
"date": null                      timezone: "+01:00"
"time": "14:53"         between           AND          //true
"timezone": "+01:00"              date: null
                                  time: "20:53"
                                  timezone: "+01:00"

 //----------------------------------------------------------
  
                                  date: "2021-03-18"
                                  time: null
"date": "2021-09-18"              timezone: "+01:00"
"time": null            between           AND          //true
"timezone": "+01:00"              date: "2022-03-18"
                                  time: null
                                  timezone: "+01:00"

 //---------------------------------------------------------- 
 
                                  date: "2021-03-18"
                                  time: "08:53"
"date": "1999-03-18"              timezone: "+01:00"
"time": "08:53"         between           AND          //false
"timezone": "+01:00"              date: "2021-03-18"
                                  time: "08:53"
                                  timezone: "+01:00"

 //---------------------------------------------------------- 
 
                                  date: "2021-03-18"
                                  time: "08:53"
"date": "2021-06-18"              timezone: "+01:00"
"time": null            between           AND          //false
"timezone": "+01:00"              date: "2022-03-18"
                                  time: "08:53"
                                  timezone: "+01:00"

 //---------------------------------------------------------- 
 
                                  date: "2021-03-18"
                                  time: "08:53"
"date": null                      timezone: "+01:00"
"time": "08:53"         between           AND          //false
"timezone": "+01:00"              date: "2022-03-18"
                                  time: "08:53"
                                  timezone: "+01:00"
```
