Как найти какой день недели для какой-либо данной даты, используя какао? - PullRequest
1 голос
/ 18 июля 2011

Я знаю, что это повторяющийся запрос, но я застрял с этой проблемой.Мне нужно знать, как я могу получить день, например, понедельник, вторник для конкретной даты, например: 18 июля 2010 года и т. Д.

благодарю вас за помощь !!

Ответы [ 3 ]

1 голос
/ 18 июля 2011

Чтобы распечатать текстовое представление дня от 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

0 голосов
/ 18 июля 2011
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.;)

0 голосов
/ 18 июля 2011

попробуйте

NSDateFormatter* theDateFormatter = [[[NSDateFormatter alloc] init] autorelease];
    [theDateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
    [theDateFormatter setDateFormat:@"EEEE"];
    NSString *weekDay =  [theDateFormatter stringFromDate:[NSDate date]];
...