每月第一天的工作日

Ant*_*ton 5 cocoa-touch date nsdate nsdatecomponents ios

我需要得到这个月第一天的工作日.例如,对于2013年9月的当月,第一天是星期日.

Dmi*_*kov 9

首先,获取当月的第一天(例如):

NSDate *today = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [gregorian components:(NSEraCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit) fromDate:today];
components.day = 1;
NSDate *firstDayOfMonth = [gregorian dateFromComponents:components];
Run Code Online (Sandbox Code Playgroud)

然后使用NSDateFormatter将其打印为工作日:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];  
[dateFormatter setDateFormat:@"EEEE"]; 
NSLog(@"%@", [dateFormatter stringFromDate:firstDayOfMonth]);
Run Code Online (Sandbox Code Playgroud)

PS还会看一下日期格式模式