インスタンスプロパティ


yearForWeekOfYear


一年または年数。


iOS 8.0+ iPadOS 8.0+ Mac Catalyst 13.0+ macOS 10.9+

tvOS 9.0+ visionOS 1.0+ watchOS 2.0+ Xcode 8.0+

var yearForWeekOfYear: Int? { get set }




議論


グレゴリオ暦では、1 週間は 7 日、1 年は 365 日、うるう年は 366 日と定義されています。ただし、365 日も 366 日も 7 日間の週に均等に分割できないため、1 年の最後の週が翌年の 1 日に終了し、1 年の最初の週が前年に始まることがよくあります。これを調整するために、ISO 8601 では、52 週または 53 週 (364 日または 371 日) で構成される週番号年を定義し、1 年の最初の週は、その年の最初の木曜日を含む週と指定されます。与えられた日付について、weekOfYear プロパティは日付がどの週に該当するかを示し、yearForWeekOfYear は対応する週番号年を提供します。


重要
weekOfYearyearForWeekOfYear の値は、使用されるカレンダーによって異なります。たとえば、ISO 8601 カレンダーでは、週は月曜日に始まり、最初の木曜日を年の最初の週として決定します。ただし、北米で使用されているグレゴリオ暦では、週は日曜日に始まり、年の最初の土曜日を最初の週として決定します。


DateComponents で日付を指定するときに、通常は weekOfYear と組み合わせて週番号の年を使用できます。リスト 1 にこのアプローチを示します。これは、金曜日に始まった 2016 年の最初の週の最初の金曜日 (曜日 6) を指定する DateComponents インスタンスを作成します。したがって、この日付はグレゴリオ暦では 2016 年 1 月 1 日 です。ただし、ISO 8601 カレンダーでは、2016 年の最初の週は次の月曜日から始まります。つまり、2016 年の最初の週の最初の金曜日は、ISO 8601 カレンダーでは 2016 年 1 月 8 日 になります。


リスト 1 さまざまなカレンダーで yearForWeekOfYear date コンポーネントを指定して抽出します。


  1. let comps = DateComponents(weekday: 6, weekOfYear: 1, yearForWeekOfYear: 2016)
  2. let gregorianCalendar = Calendar(identifier: .gregorian)
  3. let gregorianDate = gregorianCalendar.date(from: comps)!
  4. let iso8601Calendar = Calendar(identifier: .iso8601)
  5. let iso8601Date = iso8601Calendar.date(from: comps)!
  6. let formatter = DateFormatter()
  7. formatter.dateStyle = .full
  8. formatter.calendar = gregorianCalendar
  9. print ("\(formatter.string(from: gregorianDate))") // "Friday, January 1, 2016"
  10. formatter.calendar = iso8601Calendar
  11. print ("\(formatter.string(from: iso8601Date))") // "Friday, January 8, 2016"




以下も見よ


月と年へのアクセス


var era: Int?

一世紀または世紀の数。


var year: Int?

一年または年数。


var quarter: Int?

四半期または四半期の数。


var month: Int?

一月または月の数。


var isLeapMonth: Bool?

これらのコンポーネントがうるう月を表す場合は true に設定します。














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ