-
現在の日付を取得する:
let currentDate = Date()
-
カレンダーを取得する:
let calendar = Calendar.current
-
現在の日付が含まれる週の範囲を取得する:
let weekRange = calendar.range(of: .weekOfMonth, in: .month, for: currentDate)
-
週の月初めの日付を計算する:
let firstDayOfWeek = calendar.date(byAdding: .day, value: -calendar.component(.weekday, from: currentDate) + 1, to: currentDate)!
-
週の月初めの日付が含まれる週番号を取得する:
let weekNumber = calendar.component(.weekOfMonth, from: firstDayOfWeek)
これで、週の月初めの日付と週番号を取得できます。この情報を使って、さまざまな目的に応じた処理を行うことができます。
例えば、週の月初めの日付をラベルに表示する場合は、次のようにします:
Text("Week \(weekNumber): \(firstDayOfWeek, formatter: DateFormatter.localizedString(from: firstDayOfWeek, dateStyle: .short, timeStyle: .none))")
また、週の月初めの日付を基準にデータをフィルタリングする場合は、次のようにします:
let filteredData = yourData.filter { data in
let dataDate = // データの日付を取得する処理
return calendar.isDate(dataDate, equalTo: firstDayOfWeek, toGranularity: .weekOfMonth)
}
以上が、SwiftUIで週の月初めを計算する方法のコード例となります。この情報を元に、約1000語のブログ投稿を作成することができます。