Я хочу получить четверть значения в классе 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;

  • - влияет на все экземпляры
  • Самый удобный способ разбора JSON в Objective-C?
  • makeKeyWindow vs makeKeyAndVisible
  • Делегат не работает в синглете
  • Отменить текущий UIScrollView touch
  • Один xib, несколько подклассов
  • setUserTrackingMode в MKUserTrackingModeFollow без изменения уровня масштабирования
  • Ошибка компиляции iOS XCode: невозможно выполнить команду: Ошибка сегментации: 11
  • Google maps SDK didTapMyLocationButtonForMapView не вызывается в iOS 7
  • Отладка отчета о сбоях Firebase - позиция CALayer содержит NAN
  • Демо-объявления недоступны в iOS 9
  • Interesting Posts

    Запись видео с передней камеры через AVCaptureSession возврат с NO Audio

    Раскадровки + классы размеров: как реализовать различные Segues, ViewControllers, UserFlow для разных классов устройств / классов?

    Титановый SDK 3.2 : Неверное значение «-ios-version» «7.0» 7.0.3

    Как я могу сбросить данные NSUserDefaults в симуляторе iPhone?

    ERROR ITMS-9000: «Этот пакет недействителен. Apple в настоящее время не принимает приложения, созданные

    Использование изменений в коллекции Realm Collection в производстве

    cordova запускается с ошибкой ios. Код ошибки 65 для команды: xcodebuild с args:

    Как установить индекс iPhone UIView z?

    Доступ к частной собственности (начиная с подчеркивания) с использованием KVC, рассматриваемого с использованием частного API?

    CBPeripheralManager Задержки stopРеклама / Диспетчер местоположения остановлены iBeacon

    Определить дату создания файла на iPhone OS?

    Передача данных между контроллерами интерфейса в WatchKit

    Apple Watch – предварительная сборка, чтобы изменить раскладку customModule

    обработка различных размеров экрана в xcode

    xCode 4.5 git merge не удается выполнить или дать ошибки

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