iphone: найти дату 4-го дня недели - PullRequest
0 голосов
/ 21 июня 2011

Я использовал NSDateComponents, чтобы найти дату 4-го, 2-го дня недели, например:

NSDate *today = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc]
                         initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *weekdayComponents = [gregorian components:(NSDayCalendarUnit |
                                                                 NSMonthCalendarUnit |
                                                                 NSYearCalendarUnit |
                                                                 NSWeekCalendarUnit | 
                                                                 NSWeekdayCalendarUnit)
                                                       fromDate:today];
[weekdayComponents setWeekday:4];


NSLog(@"Date at that day was %@",[gregorian dateFromComponents:weekdayComponents]);

но каждый раз, когда вывод

Дата в этот день была 2011-06-20 18:30:00 + 0000

Можете ли вы помочь в этом
Заранее спасибо

1 Ответ

2 голосов
/ 21 июня 2011
[weekdayComponents setDay:weekdayComponents.day+ (4-weekdayComponents.weekday)];

Что касается вывода NSlog: NSLog (@ "% @", somedate) отображает время в GMT0, но действия с NSDateComponents выполняются с учетом часового пояса, поэтому 2011-06-20 18:30:00 +0000 начало 21.06.2011 в вашем часовом поясе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...