Instance Property インスタンスプロパティ

yearForWeekOfYear

The year corresponding to a week-counting week. ある週計数の週に該当している年。

Declaration 宣言

var yearForWeekOfYear: Int? { get set }

Discussion 議論

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 weekOfYear property indicates which week the date falls in, and yearForWeekOfYear provides the corresponding week-numbering year. グレゴリオ暦は、週に7日を持つ、そして年に365、または閏年で366日を持つと定義します。しかしながら、365または366のどちらも均一に7日週へと分割されません、それでしばしばある年の最後の週が次の年のある日で終わる、そしてある年の最初の週が前の年に始まる場合があります。これを調整するために、ISO 8601は週番号年を定義します、丸々52または53週(364または371日)のどちらかから成っていて、ある年の最初の週がその年の最初の木曜日を含んでいる週であるように指定されます。ある与えられた日付に対して、weekOfYearプロパティはその日付が範囲に収まるのはどの週かを指し示します、そしてyearForWeekOfYearは該当する週番号年を提供します。

You can use the week-numbering year when specifying a date with DateComponents, usually in combination with the weekOfYear. Listing 1 shows this approach. It creates a DateComponents 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. あなたは、ある日付をDateComponentsで、通常はweekOfYearと組み合わせて、指定する場合に、週番号年を使用できます。コード出力 1 は、この取り組みを示します。それは、あるDateComponentsインスタンスを、2016年の最初の週の最初の金曜日(週日 6)を指定して作成します、それは金曜日で始まりました。したがって、この日付はグレゴリオ暦で2016年、1月1日です。しかしながら、ISO 8601カレンダーでは、2016年の最初の週は次に来る月曜日で開始します。これは、2016年の最初の週における最初の金曜日が、ISO 8601カレンダーでは2016年、1月8日であることを意味します。

Listing 1 Specifying and extracting the yearForWeekOfYear date component in different calendars. コード出力 1 yearForWeekOfYear日付構成要素を異なるカレンダーにおいて指定および抽出する。

let comps = DateComponents(weekday: 6, weekOfYear: 1, yearForWeekOfYear: 2016)
let gregorianCalendar = Calendar(identifier: .gregorian)
let gregorianDate = gregorianCalendar.date(from: comps)!
let iso8601Calendar = Calendar(identifier: .iso8601)
let iso8601Date = iso8601Calendar.date(from: comps)!


let formatter = DateFormatter()
formatter.dateStyle = .full
formatter.calendar = gregorianCalendar
print ("\(formatter.string(from: gregorianDate))") // "Friday, January 1, 2016"
formatter.calendar = iso8601Calendar
print ("\(formatter.string(from: iso8601Date))") // "Friday, January 8, 2016"



See Also 参照

Accessing Months and Years 月と年にアクセスする