dates(byAdding:value:startingAt:in:wrappingComponents:)

Returns a sequence of Dates, calculated by adding a scaled amount of Calendar.Components to a starting Date. If a range is supplied, the sequence terminates if the next result is not contained in the range. The starting point does not need to be contained in the range, but if the first result is outside of the range then the result will be an empty sequence.

iOS
16.4+
macOS
13.3+
tvOS
16.4+
watchOS
9.4+
func dates(byAdding component: Calendar.Component, value: Int = 1, startingAt start: Date, in range: Range<Date>? = nil, wrappingComponents: Bool = false) -> some Sendable & Sequence<Date>

Parameters

start

The starting point of the search.

range

The range of dates to allow in the result. The sequence terminates if the next result is not contained in this range. If nil, all results are allowed.

component

A component to add or subtract.

value

The value of the specified component to add or subtract. The default value is 1. The value can be negative, which causes subtraction.

wrappingComponents

If true, the component should be incremented and wrap around to zero/one on overflow, and should not cause higher components to be incremented. The default value is false.

Returns

A Sequence of Date values, or an empty sequence if no addition could be performed.