Я хочу получить четверть значения в классе NSDateComponents

Я хочу получить четверть значения с указанной даты. (переменная даты)

Так. Я сделал следующий код и запустил. но значение четверти равно нулю.

Почему значение четверти равно нулю? где проблема?

Пожалуйста, совет от продвинутого человека.

NSDateComponents *comp1 = [[NSDateComponents alloc] init]; [comp1 setYear:2012]; [comp1 setMonth:6]; [comp1 setDay:1]; NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSDate *date = [gregorian dateFromComponents:comp1]; <== want to get a quarter value. unsigned int unitFlags = NSYearCalendarUnit | NSQuarterCalendarUnit | NSMonthCalendarUnit | NSWeekOfYearCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; NSDateComponents *comp2 = [gregorian components:unitFlags fromDate:date]; NSLog(@"year : %5d",[comp2 year]); NSLog(@"quarter : %5d",[comp2 quarter]); NSLog(@"month : %5d",[comp2 month]); NSLog(@"weekofYear : %5d",[comp2 weekOfYear]); NSLog(@"day : %5d",[comp2 day]); 

Результат:

 2012-07-24 03:44:14.776 dateTest[1228:1307] year : 2012 2012-07-24 03:44:14.776 dateTest[1228:1307] quarter : 0 2012-07-24 03:44:14.777 dateTest[1228:1307] month : 6 2012-07-24 03:44:14.777 dateTest[1228:1307] weekofYear : 22 2012-07-24 03:44:14.778 dateTest[1228:1307] day : 1 

2 Solutions collect form web for “Я хочу получить четверть значения в классе NSDateComponents”

Кажется, что проблема с NSQuarterCalendarUnit игнорируется (не проверена, но увидела сообщение об ошибке). Во всяком случае, это достаточно просто, чтобы обойти … Просто используйте класс NSDateFormatter.

 // After your NSDate *date, add... NSDateFormatter *quarterOnly = [[NSDateFormatter alloc]init]; [quarterOnly setDateFormat:@"Q"]; int quarter = [[quarterOnly stringFromDate:date] intValue]; // Then change the quarter NSLog too NSLog(@"quarter : %5d", quarter); 

Должен работать нормально …

16 декабря 2014 г.

Как насчет просто:

([comp2 month] -1) / 3 + 1;

  • Как проверить, существует ли _NSCFConstantString в NSMutableArray?
  • не может найти объявление интерфейса для «NSObject», суперкласс «GPXType»
  • Objective-c .homeServerAuthorizationCode равен нулю
  • Как уведомить уведомление в каждый день месяца
  • Я хочу скрыть навигационную панель iOS для определенного вида
  • Проблема с картой для Xcode 5 скомпилировала iPhone-приложение в iPad после обновления IOS7 (отлично работает на iPhone)
  • как скрыть Touch, чтобы вернуться к вызову
  • Загрузка содержимого UIWebView в AJAX блокирует основной поток
  • Почему в файле.m.m есть еще один @interface?
  • Показать разделитель только для доступного CellForRow в UITableView
  • Фильтрация данных с помощью изменяемого ключа по его значению
  • Interesting Posts

    Черная область на UIWebView во время загрузки

    Несовместимые типы указателей, инициализирующие 'SubClass * __ strong' с выражением типа 'BaseClass *'

    Как я могу скрыть и показать UIStatusBar?

    Ошибка компоновщика iOS SDK 5.1 для non_lazy_ptr в Xcode 4.4.1

    является ли char подписан или неподписанным по умолчанию на iOS?

    сообщения об ошибках отображения соединения в ионной структуре

    Ускорение компиляции в xCode

    Не удалось отправить команды от Apple Watch на iPhone, но команды идут от iPhone к Apple Watch

    Создание 360-градусного графического монитора просмотра изображений?

    Продолжайте воспроизведение звука с html5-проигрывателя, когда в фоновом режиме iOS

    Как создать iOS UISlider, который отображает UILabel, который отображает значение в диапазоне от 1 до 10?

    Как воспроизвести аудио в фоновом режиме Swift?

    Ошибка Swift: не удалось передать значение типа «NSTaggedPointerString» (0x1a1264378) в «NSNumber» (0x1a126f900)

    Позиция SKNode не работает, всегда идет по умолчанию 0,0

    scrollViewWillEndDragging: withVelocity: targetContentOffset: не работает на краях UISCrollView

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.