range(of:in:for:)

Returns the range of absolute time values that a smaller calendar component (such as a day) can take on in a larger calendar component (such as a month) that includes a specified absolute time.

iOS
8.0+
macOS
10.10+
tvOS
9.0+
watchOS
2.0+
func range(of smaller: Calendar.Component, in larger: Calendar.Component, for date: Date) -> Range<Int>?

Parameters

smaller

The smaller calendar component.

larger

The larger calendar component.

date

The absolute time for which the calculation is performed.

Returns

The range of absolute time values smaller can take on in larger at the time specified by date. Returns nil if larger is not logically bigger than smaller in the calendar, or the given combination of components does not make sense (or is a computation which is undefined).

You can use this method to calculate, for example, the range the day component can take on in the month in which date lies.