Class

# DateInterval

<div class="rst-class">

forsearch

</div>

Date

<div class="rst-class">

forsearch

</div>

DateTime

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

## Description

A <span class="title-ref">DateInterval</span> is used to modify a date object. You specify how much you want to offset the date by and then add (or subtract) the interval to the date to get a new date object.

The resulting <span class="title-ref">DateInterval</span> always uses the largest grouping first. For example, if the delta is 367 days, the interval's Years property will be 1 and the Days property will be 2.

## Properties

<div class="rst-class">

table-centered_columns_3_and_4

</div>

| Name                                    | Type                               | Read-Only | Shared |
|-----------------------------------------|------------------------------------|-----------|--------|
| `Days<dateinterval.days>`               | `Integer</api/data_types/integer>` |           |        |
| `Hours<dateinterval.hours>`             | `Integer</api/data_types/integer>` |           |        |
| `Minutes<dateinterval.minutes>`         | `Integer</api/data_types/integer>` |           |        |
| `Months<dateinterval.months>`           | `Integer</api/data_types/integer>` |           |        |
| `Nanoseconds<dateinterval.nanoseconds>` | `Integer</api/data_types/integer>` |           |        |
| `Seconds<dateinterval.seconds>`         | `Integer</api/data_types/integer>` |           |        |
| `Years<dateinterval.years>`             | `Integer</api/data_types/integer>` |           |        |

## Methods

<div class="rst-class">

table-centered_column_4

</div>

| Name                                     | Parameters                                                                                                                                                                                                                                                                                                                                                      | Returns | Shared |
|------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|--------|
| `Constructor<dateinterval.constructor0>` | years As `Integer</api/data_types/integer>` = 0, months As `Integer</api/data_types/integer>` = 0, days As `Integer</api/data_types/integer>` = 0, hours As `Integer</api/data_types/integer>` = 0, minutes As `Integer</api/data_types/integer>` = 0, seconds As `Integer</api/data_types/integer>` = 0, nanoseconds As `Integer</api/data_types/integer>` = 0 |         |        |

## Property descriptions

<div id="dateinterval.days">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

DateInterval.Days

**Days** As `Integer</api/data_types/integer>`

> The number of days in the interval.
>
> ``` xojo
> Var d1 As New DateTime(2024, 5, 1)
> Var d2 As New DateTime(2024, 5, 20)
> Var interval As DateInterval
> interval = d2 - d1
> ' interval.Days = 19
> ```
>
> The result is not always measured in just days. For example:
>
> ``` xojo
> Var d1 As New DateTime(2024, 5, 1)
> Var d2 As New DateTime(2024, 6, 1)
> Var interval As DateInterval
> interval = d2 - d1
> ```
>
> In this example, the interval.Days is 0 and the interval.Months is 1. To continue:
>
> ``` xojo
> Var d1 As New DateTime(2024, 5, 1)
> Var d2 As New DateTime(2024, 6, 5)
> Var interval As DateInterval
> interval = d2 - d1
> ```
>
> In this example, interval.Months is 1 and interval.Days is 4.

<div id="dateinterval.hours">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

DateInterval.Hours

**Hours** As `Integer</api/data_types/integer>`

> The number of hours in the interval.

<div id="dateinterval.minutes">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

DateInterval.Minutes

**Minutes** As `Integer</api/data_types/integer>`

> The number of minutes in the interval.

<div id="dateinterval.months">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

DateInterval.Months

**Months** As `Integer</api/data_types/integer>`

> The number of months in the interval.
>
> Get a date two months from today:
>
> ``` xojo
> Var di As New DateInterval
> di.Months = 2 ' 2 months
>
> ' Get date two months from today
> Var d2 As DateTime = DateTime.Now + di
> ```

<div id="dateinterval.nanoseconds">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

DateInterval.Nanoseconds

**Nanoseconds** As `Integer</api/data_types/integer>`

> The number of nanoseconds in the interval.

<div id="dateinterval.seconds">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

DateInterval.Seconds

**Seconds** As `Integer</api/data_types/integer>`

> The number of seconds in the interval.

<div id="dateinterval.years">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

DateInterval.Years

**Years** As `Integer</api/data_types/integer>`

> The number of years in the interval.
>
> ``` xojo
> Var d1 As New DateTime(2017, 5, 1)
> Var d2 As New DateTime(2030, 1, 1)
> Var interval As DateInterval
>
> interval = d2 - d1
> ' interval.Years = 12
> ```

## Method descriptions

<div id="dateinterval.constructor0">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

<div class="rst-class">

forsearch

</div>

DateInterval.Constructor

**Constructor**(years As `Integer</api/data_types/integer>` = 0, months As `Integer</api/data_types/integer>` = 0, days As `Integer</api/data_types/integer>` = 0, hours As `Integer</api/data_types/integer>` = 0, minutes As `Integer</api/data_types/integer>` = 0, seconds As `Integer</api/data_types/integer>` = 0, nanoseconds As `Integer</api/data_types/integer>` = 0)

> <div class="note">
>
> <div class="title">
>
> Note
>
> </div>
>
> `Constructors</api/language/constructor>` are special methods called when you create an object with the `New</api/language/new>` keyword and pass in the parameters above.
>
> </div>
>
> Specifies an interval using the various properties to create a date and time.
>
> Creates a date that is two months from today and two months before today:
>
> ``` xojo
> Var di As New DateInterval(0, 2) ' 0 years, 2 months
> ' Get date two months from today
> Var d1 As DateTime = DateTime.Now + di
> ' Get date two months before today
> Var d2 As DateTime = DateTime.Now - di
> ```

## Sample code

This example adds 5 days to the current date:

``` xojo
Var d As DateTime = DateTime.Now
Var interval As New DateInterval(0, 0, 5)
d = d + interval
MessageBox(d.ToString)
```

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

This example adds 1 year, 3 months and 4 days to the current date:

``` xojo
Var d As DateTime = DateTime.Now
Var interval As New DateInterval(1, 3, 4)
d = d + interval
MessageBox(d.ToString)
```

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

This example adds 8 hours to the current date:

``` xojo
Var d As DateTime = DateTime.Now
Var interval As New DateInterval(0, 0, 0, 8)
d = d + interval
MessageBox(d.ToString)
```

## Compatibility

|                       |     |
|-----------------------|-----|
| **Project Types**     | All |
| **Operating Systems** | All |

<div class="seealso">

`Object</api/data_types/additional_types/object>` parent class; `DateTime</api/data_types/datetime>` class

</div>
