今日の日付は[NSDate date];
でわかりますが、土曜日、金曜日など、今日の曜日はどのようにしてわかりますか。
%w
がNSDateFormatter
で使用できることは知っていますが、使用するかどうかはわかりません。
NSCalendar* cal = [NSCalendar currentCalendar];
NSDateComponents* comp = [cal components:NSCalendarUnitWeekday fromDate:[NSDate date]];
return [comp weekday]; // 1 = Sunday, 2 = Monday, etc.
他のコンポーネントなしで平日が必要な場合は、 @ HuguesBR の回答を参照してください(iOS 8 +が必要です)。
NSInteger weekday = [[NSCalendar currentCalendar] component:NSCalendarUnitWeekday
fromDate:[NSDate date]];
(正しい答えが得られない場合は、NSCalendarUnitWeekday
などの他の週関連のコンポーネントとNSCalendarUnitWeekdayOrdinal
を誤って入力していないかどうかを確認してください。)
スウィフト3:
let weekday = Calendar.current.component(.weekday, from: Date())
// 1 = Sunday, 2 = Monday, etc.
誰かがSwiftソリューションに興味がある場合は、次を使用します。
import Foundation
let weekday = NSCalendar.current.component(.weekday, from: Date())
print(weekday) // => prints the weekday number 1-7 (Sunday through Saturday)
デモ を参照してください。
Update:Swift 3
短いバージョン
NSCalendarUnit dayOfTheWeek = [[NSCalendar currentCalendar] component:NSCalendarUnitWeekday fromDate:yourDate];
これはiOS8で有効な更新バージョンです
NSCalendar* currentCalendar = [NSCalendar currentCalendar];
NSDateComponents* dateComponents = [currentCalendar components:NSWeekdayCalendarUnit fromDate:[NSDate date]];
return [dateComponents weekday];
let today = Date()
let day = Calendar.current.dateComponents([.weekday], from: today).weekday
if ( day == 5)
{
yourText.text = "Thursday"
}