如何从 NSDate 获取星期几

How to get Day number of week from NSDate

我想从 NSDate 中知道星期几。

示例:- 假设今天是 2016 年 10 月 10 日,这里的周数是我使用的第 3 周

NSInteger week = [_calendar component:NSCalendarUnitWeekOfMonth fromDate:date];

现在我想知道当前周的天数,10 月 10 日是第 2 天

它将为您获取日期 ,即2。每周的天数总是相同的。 (1-7).

正如Vyachaslav Gerchicov指出的那样,工作日数字从星期日
开始 周日是1,周一是2...周六是7

//Assuming your calendar is initiated like this
NSCalendar *_calendar = [NSCalendar currentCalendar];

//Fetch the day number
NSInteger day = [_calendar component:NSCalendarUnitWeekday fromDate:date];

探索 NSCalendar 了解更多详情 here


为Swift5.x

let day = Calendar.current.component(.weekday, from: date)

探索 Calendar 了解更多详情 here

使用这个

NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *dateComponent = [calendar components:(NSCalendarUnitWeekOfYear | NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitWeekday ) fromDate:[NSDate date] ];
NSNumber *weekNo = [NSNumber numberWithInteger:dateComponent. weekday];