The ISO 8601 week-numbering year.
- iOS 5.0+
- macOS 10.7+
- tvOS 9.0+
- watchOS 2.0+
The Gregorian calendar defines a week to have 7 days, and a year to have 365 days, or 366 in a leap year. However, neither 365 or 366 divide evenly into a 7-day week, so it is often the case that the last week of a year ends on a day in the next year, and the first week of a year begins in the preceding year. To reconcile this, ISO 8601 defines a week-numbering year, consisting of either 52 or 53 full weeks (364 or 371 days), such that the first week of a year is designated to be the week containing the first Thursday of the year. For a given date, the
week property indicates which week the date falls in, and
year provides the corresponding week-numbering year.
You can use the week-numbering year when specifying a date with
NSDate, usually in combination with the
week. Listing 1 shows this approach. It creates an
NSDate instance specifying the first Friday (weekday 6) of the first week of 2016, which started on a Friday. Therefore, this date is January 1, 2016 in the Gregorian calendar. However, on the ISO 8601 calendar, the first week of 2016 begins on the following Monday. This means the first Friday in the first week of 2016 is January 8, 2016 on the ISO 8601 calendar.