Contents

dates(byAdding:startingAt:in:wrappingComponents:)

Returns a sequence of Dates, calculated by repeatedly adding an amount of DateComponents to a starting Date and then to each subsequent result. 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.

Declaration

func dates(byAdding components: DateComponents, startingAt start: Date, in range: Range<Date>? = nil, wrappingComponents: Bool = false) -> some Sendable & Sequence<Date>

Parameters

  • components:

    The components to add or subtract.

  • 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.

  • 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.

Return Value

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