我有一个 NSDate,我想从该 NSDate 中找出该月第一天的星期几名称。例如,我得到“2013 年 5 月 15 日”,我想返回“星期三”,因为“2013 年 5 月 1 日”是星期三。这是我的测试代码;
// Setup a Date and Formatter and load with a date
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormatter dateFromString:@"2013-05-10"];
NSLog(@"Day In Month : %@", [dateFormatter stringFromDate:date]);
// Setup a calendar and extract components and force to the first
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
//NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *dateComponants = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:[NSDate date]];
[dateComponants setDay:1];
date = [calendar dateFromComponents:dateComponants];
NSLog(@"First Day : %@", [dateFormatter stringFromDate:date]);
// Change the formatter for the Day name
[dateFormatter setDateFormat:@"EEEE"];
NSLog(@"Day Name : %@", [dateFormatter stringFromDate:date]);
这是我的日志所说的......
Day In Month : 2013-05-10
First Day : 2013-06-01
Day Name : Saturday
六月的日期中间在做什么?事实上 6 月 1 日是星期六,但这并没有真正帮助我。
感谢您的帮助。
最佳答案
替换
NSDateComponents *dateComponants = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:[NSDate date]];
与
NSDateComponents *dateComponants = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate: date];
关于xcode - 从 NSDate 获取该月第一天的星期名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16980938/