今日はFriday
であり、NSCalendar
によれば_6
_です。私は以下を使用してこれを得ることができます
_Calendar.current.component(.weekday, from: Date())
_
先週のSaturday
の曜日コンポーネントを取得するにはどうすればよいですか。これは_7
_である必要がありますか?
もし私がCalendar.current.component(.weekday, from: Date()) - 6
を実行するとします。有効なコンポーネントではない_0
_を取得しています。
これを試してください、あなたは最初に日付を取得し、それからもう一度減算する必要があります:
var dayComp = DateComponents(day: -6)
let date = Calendar.current.date(byAdding: dayComp, to: Date())
Calendar.current.component(.weekday, from: date!)
そのためには、最初にcalendar.date(byAdding:value:to:)
を使用してその日付を取得し、それから日数を取得する必要があります。
extension Date {
func getDateFor(days:Int) -> Date? {
return Calendar.current.date(byAdding: .day, value: days, to: Date())
}
}
この関数を使用して、あなたの日を取得してください。
if let date = Date().getDateFor(days: -6) {
print(Calendar.current.component(.weekday, from: date))
}
カレンダーと日付のコンポーネントを使用して、すべてをDate拡張機能に入れることができます。
(Swift 4.1)
extension Date {
func removing(minutes: Int) -> Date? {
let result = Calendar.current.date(byAdding: .minute, value: -(minutes), to: self)
return result
}
}