Определение даты в iOS-приложении

Рейтинг: 0Ответов: 2Опубликовано: 22.03.2015

Доброго времени суток. Мне нужно сделать вот что: в моем приложении контент отображается в зависимости от дня недели. Я реализовал это так: с помощью NSDate и NSDateFormatter получаю строку с днем недели, потом с помощью оператора условий вывожу контент на экран. Проблема в том, что если поменять язык на устройства, то ничего работать не будет, так как вместо строки "Понедельник" получается строка "Monday". Есть ли способ получить день недели такой строкой, котороя во всем мире будет выглядеть одинаково? Спасибо за помощь.

Ответы

▲ 1Принят

Можно получить номер дня с помощью связки NSCalendar и NSDateComponents :

NSDate *today = [NSDate date];

NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

NSDateComponents *weekdayComponents = [gregorian components:(NSDayCalendarUnit | NSWeekdayCalendarUnit) fromDate:today];

NSInteger day = [weekdayComponents day];

NSInteger weekday = [weekdayComponents weekday];
▲ 1

Посмотрите в сторону NSDataComponents. Есть варианты получения номера дня недели.