Я знаю, что это повторяющийся запрос, но я застрял с этой проблемой. Мне нужно знать, как я могу получить такой день, как понедельник, вторник для определенной даты, например: 18 июля 2010 г. и т. д.
ценю вашу помощь!!
Я знаю, что это повторяющийся запрос, но я застрял с этой проблемой. Мне нужно знать, как я могу получить такой день, как понедельник, вторник для определенной даты, например: 18 июля 2010 г. и т. д.
ценю вашу помощь!!
NSString *dateString = @"20 July, 2011"; // select this from your database
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"dd MMMM, yyyy"];
NSDate *date = [dateFormatter dateFromString:dateString];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [gregorian components:NSWeekdayCalendarUnit fromDate:date];
NSInteger weekday = [components weekday];
NSLog(@"%d", weekday);
Обратите внимание, что воскресенье — это 1.
2 — это понедельник и т. д.
Отредактировал мой ответ, чтобы показать вам пример того, как преобразовать строку в NSDate. ;)
Чтобы распечатать текстовое представление дня и NSDate, попробуйте следующее:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEEE"];
[dateFormatter release];
NSDate *myDate = [NSDate date];
NSString *day = [dateFormatter stringFromDate:myDate];
Для получения дополнительной информации о http://unicode.org/reports/tr35/tr35-10.html#Date_Format_Patterns
попробуй это
NSDateFormatter* theDateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[theDateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
[theDateFormatter setDateFormat:@"EEEE"];
NSString *weekDay = [theDateFormatter stringFromDate:[NSDate date]];