---
title: "doo.functions.date"
url: "https://help.tabidoo.cloud/en/article/doofunctionsdate"
language: "en"
last_updated: "2026-05-27T08:51:08.666Z"
---

# doo.functions.date

The functions give you powerful tools to work with dates and times. They make it easy to create, change, and compare dates. With these functions, you can manage time-related information effectively, adapt it to your needs, and get useful data for your apps and tasks. Functions can also be used in the [Calculated field type](https://help.tabidoo.cloud/en/article/calculated-fields).

### `NEWDATE`

Returns a Date instance parsed from the input parameter or a Date instance with current date-time if the input parameter is not passed. You can specify the time zone (e.g. Europe/Paris or UTC, respects DST, timeZone parameter is not supported in calculated fields). The default time zone is taken from the current application.

**Example**

```typescript
doo.functions.date.newdate('2023-12-31T23:00:00Z') // returns Date with UTC time 2023-12-31 23:00:00; newdate('2024-01-01T00:00:00') (note there is no time zone specified in the date-time string) returns Date with UTC time 2023-12-31 23:00:00 for time zone Europe/Paris (GMT+1), but returns 2024-01-01 00:00:00 for time zone Europe/London (UTC/GMT+0)
```

**Tip:**  
When assigning a value to a model field of type `date`, always use a string in ISO format (e.g. `2024-01-01T00:00:00.000Z`).  
If you use `doo.functions.date.newdate(...)`, remember to call `.toISOString()` before assigning the value:

```typescript
const date = doo.functions.date.newdate('2024-01-01T00:00:00Z');
doo.model.date.value = date.toISOString();
```

### `ADDINTERVAL`

Add specified interval to the input value (Date/string -> returns the same datatype Date/string). The value can be either positive or negative. Supported intervals: milliseconds, seconds, minutes, hours, days, months, years.

**Example**

```typescript
doo.functions.date.addInterval('2024-01-20T14:55:00', 'minutes', 2) // '2024-01-20T14:57:00'
```

### `ADDDAYS`

Add a number of days to the input value (Date/string -> returns the same datatype Date/string). The number of days can be either positive or negative.

**Example**

```typescript
doo.functions.date.addDays('2024-01-20', -5) // '2024-01-15'
```

### `ADDMONTHS`

Use to add or subtract months from a date.

**Example**

```typescript
doo.functions.date.addMonths('2024-01-20', 1) // '2024-02-20'
```

### `ADDYEARS`

Use to add or subtract years from a date.

**Example**

```typescript
doo.functions.date.addYears('2024-01-20', -1) // '2023-01-20'
```

### `MIN`

Returns the lowest date.

**Example**

```typescript
doo.functions.date.min('2021-01-01', '2022-01-01') // '2021-01-01'
```

### `MAX`

Returns the largest date.

**Example**

```typescript
doo.functions.date.max('2021-01-01', '2022-01-01') // '2022-01-01'
```

### `DIFF`

unit - seconds, minutes, hours, days. months and years not supported. Returns number - float. Not integer (whole number)

**Example**

```typescript
doo.functions.date.diff('2024-01-25', '2024-01-27', 'days') // 2
Returns part of the date. Year as a number. You can specify the time zone (e.g. Europe/Paris or UTC, respects DST, timeZone parameter is not supported in calculated fields). The default time zone is taken from the current application.
```

### `YEAR`

Returns part of the date. Year as a number. You can specify the time zone (e.g. Europe/Paris or UTC, respects DST, timeZone parameter is not supported in calculated fields). The default time zone is taken from the current application.

**Example**

```typescript
doo.functions.date.year('2023-12-31T23:00:00Z') // returns 2024 for time zone Europe/Paris (GMT+1), but returns 2023 for time zone Europe/London (UTC/GMT+0) or America/New_York (GMT-5)
```

### `MONTH`

Returns part of the date. Month as a number. Ranging from 1 (January) to 12 (December). You can specify the time zone (e.g. Europe/Paris or UTC, respects DST, timeZone parameter is not supported in calculated fields). The default time zone is taken from the current application.

**Example**

```typescript
doo.functions.date.month('2023-12-31T23:00:00Z') // returns 1 for time zone Europe/Paris (GMT+1), but returns 12 for time zone Europe/London (UTC/GMT+0) or America/New_York (GMT-5)
```

### `WEEKISO`

Returns part of the date. ISO week of the year as a number. Ranging from 1 (Sunday) to 7 (Saturday). You can specify the time zone (e.g. Europe/Paris or UTC, respects DST, timeZone parameter is not supported in calculated fields). The default time zone is taken from the current application.

**Example**

```typescript
doo.functions.date.weekISO('2023-12-31T23:00:00Z') // returns 1 for time zone Europe/Paris (GMT+1), but returns 52 for time zone Europe/London (UTC/GMT+0) or America/New_York (GMT-5)
```

### `DAY`

Returns part of the date. Day 1-31 as a number. You can specify the time zone (e.g. Europe/Paris or UTC, respects DST, timeZone parameter is not supported in calculated fields). The default time zone is taken from the current application.

**Example**

```typescript
doo.functions.date.day('2023-12-31T23:00:00Z') // returns 1 for time zone Europe/Paris (GMT+1), but returns 31 for time zone Europe/London (UTC/GMT+0) or America/New_York (GMT-5)
```

### `HOUR`

Returns part of the date. Hour 0-23 as a number. You can specify the time zone (e.g. Europe/Paris or UTC, respects DST, timeZone parameter is not supported in calculated fields). The default time zone is taken from the current application.

**Example**

```typescript
doo.functions.date.hour('2023-12-31T23:00:00Z') // returns 0 for time zone Europe/Paris (GMT+1), but returns 23 for time zone Europe/London (UTC/GMT+0) and returns 18 for time zone America/New_York (GMT-5)
```

### `MINUTE`

Returns part of the date. Minutes 0-59 as a number. You can specify the time zone (e.g. Europe/Paris or UTC, respects DST, timeZone parameter is not supported in calculated fields). The default time zone is taken from the current application.

**Example**

```typescript
doo.functions.date.minute('2023-12-31T23:00:00Z') // returns 0 for time zone Europe/Paris (GMT+1), but returns 30 for time zone Canada/Newfoundland (GMT-2:30) and returns 45 for time zone Australia/Eucla (GMT+8:45)
```

### `WEEKDAY`

Returns part of the date. Weekday as a number. Ranging from 1 (Sunday) to 7 (Saturday). You can specify the time zone (e.g. Europe/Paris or UTC, respects DST, timeZone parameter is not supported in calculated fields). The default time zone is taken from the current application.

**Example**

```typescript
doo.functions.date.weekday('2023-12-31T23:00:00Z') // returns 2 for time zone Europe/Paris (GMT+1), but returns 1 for time zone Europe/London (UTC/GMT+0) or America/New_York (GMT-5)
```

### `WEEKDAYISO`

Returns part of the date. ISO day of the week as a number. Ranging from 1 (Monday) to 7 (Sunday). You can specify the time zone (e.g. Europe/Paris or UTC, respects DST, timeZone parameter is not supported in calculated fields). The default time zone is taken from the current application.

**Example**

```typescript
doo.functions.date.weekdayISO('2023-12-31T23:00:00Z') // returns 1 for time zone Europe/Paris (GMT+1), but returns 7 for time zone Europe/London (UTC/GMT+0) or America/New_York (GMT-5)
```

### `TODATESTRINGISO`

Returns date-part only string in ISO format yyyy-MM-dd. You can specify the time zone (e.g. Europe/Paris or UTC, respects DST, timeZone parameter is not supported in calculated fields). The default time zone is taken from the current application.

**Example**

```typescript
doo.functions.date.toDateStringISO('2023-12-31T23:00:00Z') // returns '2024-01-01' for time zone Europe/Paris (GMT+1), but returns '2023-12-31' for time zone Europe/London (UTC/GMT+0) or America/New_York (GMT-5)
```

### `TODATESTRINGAPP`

Returns date-part only string in format specified in the current application. You can specify the time zone (e.g. Europe/Paris or UTC, respects DST, timeZone parameter is not supported in calculated fields). The default time zone is taken from the current application.

**Example**

```typescript
doo.functions.date.toDateStringApp('2023-12-31T23:00:00Z') (app. format 'dd.MM.yyyy') // returns '01.01.2024' for time zone Europe/Paris (GMT+1), but returns '31.12.2023' for time zone Europe/London (UTC/GMT+0) or America/New_York (GMT-5)
```

### `TODATETIMESTRINGAPP`

Returns date-time string in format specified in the current application. You can specify the time zone (e.g. Europe/Paris or UTC, respects DST, timeZone parameter is not supported in calculated fields). The default time zone is taken from the current application.

**Example**

```typescript
doo.functions.date.toDateTimeStringApp('2023-12-31T23:00:00Z') (app. format 'dd.MM.yyyy' and 24h time) // returns '01.01.2024 00:00' for time zone Europe/Paris (GMT+1), but returns '31.12.2023 19:30' for time zone Canada/Newfoundland (GMT-2:30) and returns '01.01.2024 07:45' for time zone Australia/Eucla (GMT+8:45)
```
