Пятница с форматом даты "c" возвращается как 5 или 6? - PullRequest
1 голос
/ 01 октября 2010

Изначально я думал, что с помощью этого кода

+ (NSString *)getDayOfTheWeek:(NSDate *)date format:(NSString*)format
{
 NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
 dateFormatter.dateFormat = format;
 NSString *formattedDateString = [dateFormatter stringFromDate:date];
 NSLog(@"Des pico je: %@",formattedDateString);
 return formattedDateString;
}
NSDate *now = [NSDate date];
NSString *today = [self getDayOfTheWeek:now format:@"c"]

должен возвращать строку с номером для каждого дня, но он получает разные результаты для разных региональных настроек формата. (Пн = 1 или вс = 1) и, возможно, некоторые варианты. не знаю Так есть ли общий способ легко получить это решение для всех региональных настроек типа даты на iPhone?

1 Ответ

2 голосов
/ 01 октября 2010

«С» - это отдельный местный день недели.Автономный означает, что он предназначен для использования без какого-либо дополнительного контекста даты (в отличие от «е»).А местный день недели зависит от локали, то есть какой день диктует локаль как первый день недели.Поэтому пятница может быть 5 или 6, в зависимости от локали.

Чтобы узнать, какой день является первым днем ​​недели, вы можете использовать [[NSCalendar currentCalendar] firstWeekday].

Но если вы хотите простострока с названием сегодняшнего дня, например, «Понедельник», «Вторник» и т. д. Вы можете использовать NSString *today = [self getDayOfTheWeek:now format:@"cccc"];.

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