NSCalendar
Календари инкапсулируют информацию о системах счета времени, в которое определяются начало, длина и подразделения года. Они предоставляют информацию о календаре и поддержке calendrical вычислений, таких как определение диапазона данного calendrical модуля и добавления модулей к данному абсолютному времени.
В календаре день, неделя, рабочий день, месяц и числа года обычно на основе 1, но могут быть специфичные для календаря исключения. Порядковые числа, где они происходят, на основе 1. Некоторым календарям, представленным этим API, вероятно, придется отобразить их понятия основной единицы в год/месяц/неделю/день / … номенклатура. Например, календарь, составленный из 4 четвертей через год вместо 12 месяцев, использует модуль месяца для представления четвертей. Определенные значения модуля определяются каждым календарем и не обязательно соответствующие значениям для того модуля в другом календаре.
Чтобы сделать календарную арифметику, Вы используете NSDate
объекты в сочетании с календарем. Например, для преобразования между анализируемой датой в одном календаре и другим календарем необходимо сначала преобразовать анализируемые элементы в дату с помощью первого календаря, затем анализировать его с помощью второго. NSDate
обеспечивает абсолютную шкалу и эпоха (контрольную точку) для дат и времени, которые могут тогда быть представлены в определенном календаре для calendrical вычислений или пользовательского дисплея.
Два NSCalendar
методы, возвращающие объект даты, dateFromComponents:
, dateByAddingComponents:toDate:options:
, возьмите в качестве параметра NSDateComponents
объект, описывающий calendrical компоненты, требуемые для вычисления. Можно обеспечить столько компонентов, сколько Вы нуждаетесь (или выбираете к). Когда существует неполная информация для вычислений абсолютного времени, значения по умолчанию, подобные 0
и 1
обычно выбираются календарем, но это - специфичный для календаря выбор. Если Вы предоставляете противоречивую информацию, специфичное для календаря разрешение неоднозначности выполняется (который может включить игнорирование того или большего количества параметров). Связанные методы (components:fromDate:
и components:fromDate:toDate:options:
) возьмите немного параметра маски, указывающего который компоненты вычислить при возврате NSDateComponents
объект. Битовая маска составлена из NSCalendarUnit
константы (см. Константы).
NSCalendar
“бесплатный соединенный мостом” с его Базовым дубликатом Основы, CFCalendarRef
. Посмотрите Бесплатное Образование моста для получения дополнительной информации о бесплатном образовании моста.
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSObjectProtocol
-
NSSecureCoding
-
Печатаемый
-
NSCopying
-
NSObject
-
NSSecureCoding
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.4 и позже.
-
Возвращает логический календарь для текущего пользователя.
Объявление
Swift
class func currentCalendar() -> NSCalendar
Objective C
+ (NSCalendar *)currentCalendar
Возвращаемое значение
Логический календарь для текущего пользователя.
Обсуждение
Возвращенный календарь формируется из настроек для выбранной системной локали текущего пользователя, наложенной с любыми пользовательскими настройками, которые пользователь указал в Установках системы. Настройки, которые Вы получаете от этого календаря, не изменяются, как Установки системы изменяются, так, чтобы Ваши операции были непротиворечивыми (контраст с
autoupdatingCurrentCalendar
).Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
-
Возвращает текущий логический календарь для текущего пользователя.
Объявление
Swift
class func autoupdatingCurrentCalendar() -> NSCalendar
Objective C
+ (NSCalendar *)autoupdatingCurrentCalendar
Возвращаемое значение
Текущий логический календарь для текущего пользователя.
Обсуждение
Настройки, которые Вы получаете от этого календаря, действительно изменяются, как настройки пользователя изменяются (контраст с
currentCalendar
).Обратите внимание на то, что при кэшировании значений на основе информации календаря или соответствующей информации, те кэши не будут, конечно, автоматически обновлены обновлением календарного объекта.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.5 и позже.
-
init (calendarIdentifier:) - initWithCalendarIdentifier:
Определяемый инициализаторИнициализирует недавно выделенный
NSCalendar
объект для календаря указан данным идентификатором.Объявление
Swift
init?(calendarIdentifier
string
: String)Objective C
- (id)initWithCalendarIdentifier:(NSString *)
string
Параметры
string
Идентификатор для нового календаря. Для допустимых идентификаторов посмотрите
NSLocale
.Возвращаемое значение
Инициализированный календарь, или
nil
если идентификатор неизвестен (если, например, это - или нераспознанная строка или календарь, не поддерживается текущей версией операционной системы).Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
-
Устанавливает индекс первого рабочего дня для получателя.
Параметры
weekday
Первый рабочий день для получателя.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Устанавливает локаль для получателя.
Параметры
locale
Локаль для получателя.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Определяет минимальный номер дней на первой неделе получателя.
Объявление
Swift
var minimumDaysInFirstWeek: Int
Objective C
@property NSUInteger minimumDaysInFirstWeek
Параметры
mdw
Минимальное число дней на первой неделе получателя.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Устанавливает часовой пояс для получателя.
Объявление
Swift
@NSCopying var timeZone: NSTimeZone
Objective C
@property(copy) NSTimeZone *timeZone
Параметры
tz
Часовой пояс для получателя.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Возвращает идентификатор для получателя.
Объявление
Swift
var calendarIdentifier: String { get }
Objective C
@property(readonly, copy) NSString *calendarIdentifier
Возвращаемое значение
Идентификатор для получателя. Для допустимых идентификаторов посмотрите
NSLocale
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
-
Возвращает индекс первого рабочего дня получателя.
Возвращаемое значение
Индекс первого рабочего дня получателя.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Возвращает локаль для получателя.
Возвращаемое значение
Локаль для получателя.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Максимальные пределы диапазона значений, которые данный модуль может взять в получении
Объявление
Swift
func maximumRangeOfUnit(_
unit
: NSCalendarUnit) -> NSRangeObjective C
- (NSRange)maximumRangeOfUnit:(NSCalendarUnit)
unit
Параметры
unit
Модуль, для которого возвращается максимальный диапазон.
Возвращаемое значение
Максимальные пределы диапазона значений, что модуль, указанный
unit
может взять в получателе.Обсуждение
Как пример, в Григорианском календаре максимальный диапазон значений для Дневного модуля 1-31.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Возвращает минимальное число дней на первой неделе получателя.
Объявление
Swift
var minimumDaysInFirstWeek: Int
Objective C
@property NSUInteger minimumDaysInFirstWeek
Возвращаемое значение
Минимальное число дней на первой неделе получателя
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Возвращает минимальные пределы диапазона значений, которые данный модуль может взять в получателе.
Объявление
Swift
func minimumRangeOfUnit(_
unit
: NSCalendarUnit) -> NSRangeObjective C
- (NSRange)minimumRangeOfUnit:(NSCalendarUnit)
unit
Параметры
unit
Модуль, для которого возвращается максимальный диапазон.
Возвращаемое значение
Минимальные пределы диапазона значений, что модуль, указанный
unit
может взять в получателе.Обсуждение
Как пример, в Григорианском календаре минимальный диапазон значений для Дневного модуля 1-28.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Возвраты, в течение данного абсолютного времени, порядкового числа меньшей единицы времени по календарю (такие как день) в указанной большей единице времени по календарю (такие как неделя).
Объявление
Swift
func ordinalityOfUnit(_
smaller
: NSCalendarUnit, inUnitlarger
: NSCalendarUnit, forDatedate
: NSDate) -> IntObjective C
- (NSUInteger)ordinalityOfUnit:(NSCalendarUnit)
smaller
inUnit:(NSCalendarUnit)larger
forDate:(NSDate *)date
Параметры
smaller
Меньшая единица времени по календарю
larger
Большая единица времени по календарю
date
Абсолютное время, в течение которого выполняется вычисление
Возвращаемое значение
Порядковое число
smaller
вlarger
в то время, когда указаноdate
. ВозвратыNSNotFound
еслиlarger
не логически больше, чемsmaller
в календаре или данной комбинации модулей не целесообразен (или вычисление, которое не определено).Обсуждение
ordinality является в большинстве случаев не тем же как анализируемым значением модуля. Обычно возвращаемые значения
1
и больше. Например, время00:45
находится на первом часе дня, и в течение Часа модулей и Дня соответственно, результат был бы1
. Исключение является возвращающимся вычислением недели в месяце,0
в течение многих дней перед первой неделей, в месяце содержащей дату.Обратите внимание на то, что некоторые вычисления могут относительно занять много времени.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
-
Возвращает диапазон абсолютных временных стоимостей, которые меньшая единица времени по календарю (такая как день) может взять в большей единице времени по календарю (такой как месяц), который включает указанное абсолютное время.
Объявление
Swift
func rangeOfUnit(_
smaller
: NSCalendarUnit, inUnitlarger
: NSCalendarUnit, forDatedate
: NSDate) -> NSRangeObjective C
- (NSRange)rangeOfUnit:(NSCalendarUnit)
smaller
inUnit:(NSCalendarUnit)larger
forDate:(NSDate *)date
Параметры
smaller
Меньшая единица времени по календарю.
larger
Большая единица времени по календарю.
date
Абсолютное время, в течение которого выполняется вычисление.
Возвращаемое значение
Диапазон абсолютных временных стоимостей
smaller
может взять вlarger
в то время, когда указаноdate
. Возвраты{NSNotFound, NSNotFound
}, еслиlarger
не логически больше, чемsmaller
в календаре или данной комбинации модулей не целесообразен (или вычисление, которое не определено).Обсуждение
Можно использовать этот метод для вычисления, например, диапазона, который Дневной модуль может взять в Месяце в который
date
находится.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
-
Возвраты ссылкой время начала и продолжительность данной единицы времени по календарю, содержащей данную дату.
Объявление
Swift
func rangeOfUnit(_
unit
: NSCalendarUnit, startDatedatep
: AutoreleasingUnsafeMutablePointer<NSDate?>, intervaltip
: UnsafeMutablePointer<NSTimeInterval>, forDatedate
: NSDate) -> BoolObjective C
- (BOOL)rangeOfUnit:(NSCalendarUnit)
unit
startDate:(NSDate **)datep
interval:(NSTimeInterval *)tip
forDate:(NSDate *)date
Параметры
unit
Единица времени по календарю (см. Единицы времени по календарю для возможных значений).
datep
По возврату, содержит время начала единицы времени по календарю
unit
это содержит датуdate
tip
По возврату, содержит продолжительность единицы времени по календарю
unit
это содержит датуdate
date
Дата.
Возвращаемое значение
YES
true
если время начала и продолжительность модуля могли бы быть вычислены, иначеNO
false
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.5 и позже.
-
Возвращает часовой пояс для получателя.
Объявление
Swift
@NSCopying var timeZone: NSTimeZone
Objective C
@property(copy) NSTimeZone *timeZone
Возвращаемое значение
Часовой пояс для получателя.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Возвраты a
NSDateComponents
объект, содержащий данную дату, разложился в указанные компоненты.Объявление
Swift
func components(_
unitFlags
: NSCalendarUnit, fromDatedate
: NSDate) -> NSDateComponentsObjective C
- (NSDateComponents *)components:(NSCalendarUnit)
unitFlags
fromDate:(NSDate *)date
Параметры
unitFlags
Компоненты, в которые можно разложиться
date
— поразрядноеOR
изNSCalendarUnit
константы.date
Дата, для которой можно выполнить вычисление.
Возвращаемое значение
NSDateComponents
объектный содержащийdate
анализируемый в компоненты, указанныеunitFlags
. Возвратыnil
еслиdate
падения за пределами определенного диапазона получателя или если не может быть выполнено вычислениеОбсуждение
Рабочий день ordinality, когда требуется, относится к следующему большему (чем Неделя) требуемых модулей. Некоторые вычисления могут относительно занять много времени.
Следующий пример показывает, как использовать этот метод для определения текущего года, месяца и дня, с помощью существующего календаря (
gregorian
):Swift
let flags: NSCalendarUnit = .DayCalendarUnit | .MonthCalendarUnit | .YearCalendarUnit
let date = NSDate()
let components = gregorian.components(flags, fromDate: date)
Objective C
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDate *date = [NSDate date];
NSDateComponents *comps = [gregorian components:unitFlags fromDate:date];
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
-
Возвраты, как
NSDateComponents
объект с помощью указал компоненты, различие между двумя предоставленными датами.Объявление
Swift
func components(_
unitFlags
: NSCalendarUnit, fromDatestartingDate
: NSDate, toDateresultDate
: NSDate, optionsopts
: NSCalendarOptions) -> NSDateComponentsObjective C
- (NSDateComponents *)components:(NSCalendarUnit)
unitFlags
fromDate:(NSDate *)startingDate
toDate:(NSDate *)resultDate
options:(NSCalendarOptions)opts
Параметры
unitFlags
Указывает компоненты для возвращенного
NSDateComponents
объект — поразрядноеOR
изNSCalendarUnit
константы.startingDate
Дата начала вычисления.
resultDate
Дата окончания вычисления.
opts
Опции для вычисления.
Если Вы указываете опцию «обертки» (
NSWrapCalendarComponents
), указанные компоненты постепенно увеличиваются и повторяются для обнуления на переполнении, но не заставляют более высокие модули быть постепенно увеличенными. Когда опция обертки является ложью, переполнение в модуле переносит в более высокие модули, как в типичном дополнении.Возвращаемое значение
NSDateComponents
возразите, чьи компоненты указаныunitFlags
и вычисленный от различия междуresultDate
иstartDate
использование опций, указанныхopts
. Возвратыnil
если вычисление не может быть выполнено, если или дата выходит за пределы определенного диапазона получателя или.Обсуждение
Если нет достаточно маленького модуля, который требуют содержать полную точность различия, результат с потерями. Некоторые операции могут быть неоднозначными, и поведение вычисления специфично для календаря, но обычно большие компоненты будут вычислены перед меньшими компонентами; например, в Григорианском календаре результатом мог бы составить 1 месяц и 5 дней вместо, например, 0 месяцев и 35 дней. Получающиеся значения компонентов могут быть отрицательными если
resultDate
преждеstartDate
.Следующий пример показывает, как получить приблизительное количество месяцев и дней между двумя датами с помощью существующего календаря (
gregorian
):Swift
let startDate = ...
let endDate = ...
let flags: NSCalendarUnit = .MonthCalendarUnit | .DayCalendarUnit
let components = gregorian.components(flags, fromDate: startDate, toDate: endDate, options: nil)
let months = components.month
let days = components.day
Objective C
NSDate *startDate = ...;
NSDate *endDate = ...;
unsigned int unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *comps = [gregorian components:unitFlags fromDate:startDate toDate:endDate options:0];
int months = [comps month];
int days = [comps day];
Обратите внимание на то, что некоторые вычисления могут относительно занять много времени.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
-
Возвращает новое
NSDate
объект, представляющий абсолютное время, вычисленное путем добавления данный компоненты данной дате.Объявление
Swift
func dateByAddingComponents(_
comps
: NSDateComponents, toDatedate
: NSDate, optionsopts
: NSCalendarOptions) -> NSDate?Objective C
- (NSDate *)dateByAddingComponents:(NSDateComponents *)
comps
toDate:(NSDate *)date
options:(NSCalendarOptions)opts
Параметры
comps
Компоненты для добавления к
date
.date
Дата та, к который
comps
добавляются.opts
Опции для вычисления. Посмотрите
“NSDateComponents wrapping behavior”
для возможных значений. Передача0
не указать опции.Если Вы не указываете опций (Вы передаете
0
), переполнитесь в переносах модуля в более высокие модули (как в типичном дополнении).Возвращаемое значение
Новое
NSDate
объект, представляющий абсолютное время, вычисленное путем добавления кdate
calendrical компоненты, указанныеcomps
использование опций, указанныхopts
. Возвратыnil
еслиdate
если вычисление не может быть выполнено, выходит за пределы определенного диапазона получателя или.Обсуждение
Некоторые операции могут быть неоднозначными, и поведение вычисления специфично для календаря, но обычно компоненты добавляются в указанном порядке.
Следующий пример показывает, как добавить 2 месяца и 3 дня к текущей дате и время с помощью существующего календаря (
gregorian
):Swift
let currentDate = NSDate()
let components = NSDateComponents()
components.month = 2
components.day = 3
let date = gregorian.dateByAddingComponents(components, toDate: currentDate, options: nil)
Objective C
NSDate *currentDate = [NSDate date];
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setMonth:2];
[comps setDay:3];
NSDate *date = [gregorian dateByAddingComponents:comps toDate:currentDate options:0];
[comps release];
Обратите внимание на то, что некоторые вычисления могут относительно занять много времени.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
-
Возвращает новое
NSDate
объект, представляющий абсолютное время, вычислил от данных компонентов.Объявление
Swift
func dateFromComponents(_
comps
: NSDateComponents) -> NSDate?Objective C
- (NSDate *)dateFromComponents:(NSDateComponents *)
comps
Параметры
comps
Компоненты, от которых можно вычислить возвращенную дату.
Возвращаемое значение
Новое
NSDate
объект, представляющий абсолютное время, вычислил отcomps
. Возвратыnil
если получатель не может преобразовать поданные компонентыcomps
в абсолютное время. Метод также возвращаетсяnil
и для значений из диапазона.Обсуждение
Когда существуют недостаточные компоненты, предоставленные для завершенного указания абсолютного времени, календарь использует значения по умолчанию своего выбора. Когда существует противоречивая информация, календарь может проигнорировать некоторые компонентные параметры, или метод может возвратиться
nil
. Ненужные компоненты проигнорированы (например, День имеет приоритет по Будним и Будним ординалам).Следующий пример показывает, как использовать этот метод для создания объекта даты представлять 14:10:00 6 января 1965 для данного календаря (
gregorian
).Swift
let components = NSDateComponents()
components.year = 1965
components.month = 1
components.day = 6
components.hour = 14
components.minute = 10
components.second = 0
let date = gregorian.dateFromComponents(components)
Objective C
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setYear:1965];
[comps setMonth:1];
[comps setDay:6];
[comps setHour:14];
[comps setMinute:10];
[comps setSecond:0];
NSDate *date = [gregorian dateFromComponents:comps];
[comps release];
Обратите внимание на то, что некоторые вычисления могут относительно занять много времени для выполнения.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
-
Укажите calendrical модули, такие как день и месяц.
Объявление
Swift
struct NSCalendarUnit : RawOptionSetType { init(_
rawValue
: UInt) init(rawValuerawValue
: UInt) static var CalendarUnitEra: NSCalendarUnit { get } static var CalendarUnitYear: NSCalendarUnit { get } static var CalendarUnitMonth: NSCalendarUnit { get } static var CalendarUnitDay: NSCalendarUnit { get } static var CalendarUnitHour: NSCalendarUnit { get } static var CalendarUnitMinute: NSCalendarUnit { get } static var CalendarUnitSecond: NSCalendarUnit { get } static var CalendarUnitWeekday: NSCalendarUnit { get } static var CalendarUnitWeekdayOrdinal: NSCalendarUnit { get } static var CalendarUnitQuarter: NSCalendarUnit { get } static var CalendarUnitWeekOfMonth: NSCalendarUnit { get } static var CalendarUnitWeekOfYear: NSCalendarUnit { get } static var CalendarUnitYearForWeekOfYear: NSCalendarUnit { get } static var CalendarUnitNanosecond: NSCalendarUnit { get } static var CalendarUnitCalendar: NSCalendarUnit { get } static var CalendarUnitTimeZone: NSCalendarUnit { get } static var EraCalendarUnit: NSCalendarUnit { get } static var YearCalendarUnit: NSCalendarUnit { get } static var MonthCalendarUnit: NSCalendarUnit { get } static var DayCalendarUnit: NSCalendarUnit { get } static var HourCalendarUnit: NSCalendarUnit { get } static var MinuteCalendarUnit: NSCalendarUnit { get } static var SecondCalendarUnit: NSCalendarUnit { get } static var WeekCalendarUnit: NSCalendarUnit { get } static var WeekdayCalendarUnit: NSCalendarUnit { get } static var WeekdayOrdinalCalendarUnit: NSCalendarUnit { get } static var QuarterCalendarUnit: NSCalendarUnit { get } static var WeekOfMonthCalendarUnit: NSCalendarUnit { get } static var WeekOfYearCalendarUnit: NSCalendarUnit { get } static var YearForWeekOfYearCalendarUnit: NSCalendarUnit { get } static var CalendarCalendarUnit: NSCalendarUnit { get } static var TimeZoneCalendarUnit: NSCalendarUnit { get } }Objective C
enum { NSEraCalendarUnit = kCFCalendarUnitEra, NSYearCalendarUnit = kCFCalendarUnitYear, NSMonthCalendarUnit = kCFCalendarUnitMonth, NSDayCalendarUnit = kCFCalendarUnitDay, NSHourCalendarUnit = kCFCalendarUnitHour, NSMinuteCalendarUnit = kCFCalendarUnitMinute, NSSecondCalendarUnit = kCFCalendarUnitSecond, NSWeekCalendarUnit = kCFCalendarUnitWeek, NSWeekdayCalendarUnit = kCFCalendarUnitWeekday, NSWeekdayOrdinalCalendarUnit = kCFCalendarUnitWeekdayOrdinal, NSQuarterCalendarUnit = kCFCalendarUnitQuarter, NSWeekOfMonthCalendarUnit = kCFCalendarUnitWeekOfMonth, NSWeekOfYearCalendarUnit = kCFCalendarUnitWeekOfYear, NSYearForWeekOfYearCalendarUnit = kCFCalendarUnitYearForWeekOfYear NSCalendarCalendarUnit = (1 << 20), NSTimeZoneCalendarUnit = (1 << 21), }; typedef NSUInteger NSCalendarUnit;
Константы
-
EraCalendarUnit
NSEraCalendarUnit
Указывает модуль эры.
Соответствующее значение
NSInteger
. РавныйkCFCalendarUnitEra
.Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
-
YearCalendarUnit
NSYearCalendarUnit
Указывает модуль года.
Соответствующее значение
NSInteger
. РавныйkCFCalendarUnitYear
.Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
-
MonthCalendarUnit
NSMonthCalendarUnit
Указывает модуль месяца.
Соответствующее значение
NSInteger
. РавныйkCFCalendarUnitMonth
.Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
-
DayCalendarUnit
NSDayCalendarUnit
Указывает дневной модуль.
Соответствующее значение
NSInteger
. РавныйkCFCalendarUnitDay
.Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
-
HourCalendarUnit
NSHourCalendarUnit
Указывает модуль часа.
Соответствующее значение
NSInteger
. РавныйkCFCalendarUnitHour
.Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
-
MinuteCalendarUnit
NSMinuteCalendarUnit
Указывает мелкий модуль.
Соответствующее значение
NSInteger
. РавныйkCFCalendarUnitMinute
.Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
-
SecondCalendarUnit
NSSecondCalendarUnit
Указывает второй модуль.
Соответствующее значение является a
double
. РавныйkCFCalendarUnitSecond
.Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
-
WeekCalendarUnit
NSWeekCalendarUnit
Указывает недельный модуль.
Соответствующее значение
kCFCalendarUnitSecond
. РавныйkCFCalendarUnitWeek
.Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
-
WeekdayCalendarUnit
NSWeekdayCalendarUnit
Указывает будний модуль.
Соответствующее значение
kCFCalendarUnitSecond
. РавныйkCFCalendarUnitWeekday
. Будние модули являются числами 1 через N (где для Григорианского календаря N=7 и 1 является воскресеньем).Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
-
WeekdayOrdinalCalendarUnit
NSWeekdayOrdinalCalendarUnit
Указывает порядковый будний модуль.
Соответствующее значение
kCFCalendarUnitSecond
. РавныйkCFCalendarUnitWeekdayOrdinal
. Рабочий день порядковый модуль описывает порядковую позицию в модуле месяца соответствующего буднего модуля. Например, в Григорианском календаре рабочий день порядковый модуль 2 для буднего модуля 3 указывает «второй вторник в месяце».Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
-
QuarterCalendarUnit
NSQuarterCalendarUnit
Указывает четверть календаря как
kCFCalendarUnitSecond
.Доступный в OS X v10.6 и позже.
Осуждаемый в OS X v10.10.
-
WeekOfMonthCalendarUnit
NSWeekOfMonthCalendarUnit
Указывает исходную неделю единицы времени по календарю месяца.
Доступный в OS X v10.7 и позже.
Осуждаемый в OS X v10.10.
-
WeekOfYearCalendarUnit
NSWeekOfYearCalendarUnit
Указывает исходную неделю единицы времени по календарю года.
Доступный в OS X v10.7 и позже.
Осуждаемый в OS X v10.10.
-
YearForWeekOfYearCalendarUnit
NSYearForWeekOfYearCalendarUnit
Когда календарь интерпретируется как основанный на неделе календарь, указывает год.
Доступный в OS X v10.7 и позже.
Осуждаемый в OS X v10.10.
-
CalendarCalendarUnit
NSCalendarCalendarUnit
Указывает календарь календаря.
Доступный в OS X v10.7 и позже.
Осуждаемый в OS X v10.10.
-
TimeZoneCalendarUnit
NSTimeZoneCalendarUnit
Указывает часовой пояс календаря как
NSTimeZone
.Доступный в OS X v10.7 и позже.
Осуждаемый в OS X v10.10.
Обсуждение
Единицы времени по календарю могут использоваться в качестве небольшого количества маски для указания комбинации модулей. Значения в этом
enum
равны соответствующим константам вCFCalendarUnit
enum
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
-
-
Переносящаяся опция указывает переносящееся поведение для включения вычислений
NSDateComponents
объекты.Объявление
Swift
var NSWrapCalendarComponents: Int { get }
Objective C
enum { NSWrapCalendarComponents = kCFCalendarComponentsWrap, };
Константы
-
NSWrapCalendarComponents
NSWrapCalendarComponents
Указывает, что компоненты указали для
NSDateComponents
объект должен быть постепенно увеличен и повториться для обнуления на переполнении, но не должен заставлять более высокие модули быть постепенно увеличенными.Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
-