---
title: "init(start:end:recurrenceRule:)"
framework: intents
role: symbol
role_heading: Initializer
path: "intents/indatecomponentsrange/init(start:end:recurrencerule:)"
---

# init(start:end:recurrenceRule:)

Initializes the date range to a repeating time period.

## Declaration

```swift
init(start startDateComponents: DateComponents?, end endDateComponents: DateComponents?, recurrenceRule: INRecurrenceRule?)
```

## Parameters

- `startDateComponents`: The starting date for the time range. This value is assigned to the doc://com.apple.sirikit/documentation/Intents/INDateComponentsRange/startDateComponents property. Specify nil if you want the time range to start in the distant past.
- `endDateComponents`: The starting date for the time range. This value is assigned to the doc://com.apple.sirikit/documentation/Intents/INDateComponentsRange/endDateComponents property. Specify nil if you want the time range to end in the distant future.
- `recurrenceRule`: The recurrence rule to use when repeating the date range.

## Return Value

Return Value An initialized INDateComponentsRange object.

## Discussion

Discussion Use this method to initialize a date range that repeats over time. For example, you could create a range that represents the time range of “every wednesday”. Use the start and end dates to specify the date and time values that you want to repeat and use the recurrenceRule property to establish the conditions for repeating the value.

## See Also

### Initializing a Date Components Range

- [init(start:end:)](intents/indatecomponentsrange/init(start:end:).md)
- [init(ekRecurrenceRule:)](intents/indatecomponentsrange/init(ekrecurrencerule:)-5p7kt.md)
