Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы основы ссылка класса NSDate

Опции
Развертывание Target:

На этой странице
Язык:

NSDate

Наследование


Оператор импорта


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в iOS 2.0 и позже.

NSDate объекты представляют единственный момент времени. NSDate кластер класса; его единственный общедоступный суперкласс, NSDate, объявляет программируемый интерфейс для определенных и относительных временных стоимостей. Объекты Вы создаете использование NSDate упоминаются, поскольку возражает дата. Они - неизменные объекты. Из-за природы кластеров класса, объекты, возвращенные NSDate класс является экземплярами не того абстрактного класса, а одного из его частных подклассов. Несмотря на то, что класс объекта даты является частным, его интерфейс общедоступен, как объявлено абстрактным суперклассом NSDate. Обычно Вы инстанцируете подходящего объекта даты путем вызова одного из date... методы класса.

NSDate абстрактный класс, обеспечивающий поведение для создания дат, сравнивая даты, представляя даты, вычислительные интервалы и схожую функциональность. NSDate представляет программируемый интерфейс, через который подходящие объекты даты требуют и возвращают. Объекты даты возвратились из NSDate являются легкими и неизменными, так как они представляют инвариантный момент времени. Этот класс разработан для обеспечения основы для произвольных calendrical представлений.

Единственный примитивный метод NSDate, timeIntervalSinceReferenceDate, обеспечивает основание для всех других методов в NSDate интерфейс. Этот метод возвращает временную стоимость относительно даты абсолютной ссылки — первый момент от 1 января 2001, GMT.

Чтобы проанализировать строки, содержащие даты и генерировать строковые представления даты, необходимо использовать экземпляр NSDateFormatter использование методов dateFromString: и stringFromDate: соответственно — дополнительную информацию см. в Средствах форматирования Даты.

NSDate моделирует изменение от Юлианского до Григорианского календаря в октябре 1582 и calendrical вычисления, выполняемые в сочетании с NSCalendar примите этот переход во внимание. Отметьте, однако, что некоторые локали приняли Григорианский календарь в других случаях; например, Великобритания не переключалась до сентября 1752.

NSDate “бесплатный соединенный мостом” с его дубликатом Основы Какао, CFDateRef. Посмотрите Бесплатное Образование моста для получения дополнительной информации о бесплатном образовании моста.

Разделение на подклассы примечаний

Основная причина разделения на подклассы NSDate должен создать класс с удобными методами для работы с определенной calendrical системой. Но Вы могли также потребовать пользовательского NSDate класс по другим причинам, например, для получения значения даты и времени, обеспечивающего более прекрасную временную гранулярность.

Методы для переопределения

Если Вы хотите разделить на подклассы NSDate для получения поведения, отличающегося, чем предоставленный частными или общедоступными подклассами, необходимо сделать эти вещи:

  • Объявите, что подходящая переменная экземпляра содержит значение даты и времени (относительно даты абсолютной ссылки).

  • Переопределите timeIntervalSinceReferenceDate метод экземпляра обеспечить корректную дату и время оценивает на основе Вашей переменной экземпляра.

  • Переопределение initWithTimeIntervalSinceReferenceDate:, один из определяемых методов инициализатора.

Если Вы создаете подкласс, представляющий calendrical систему, необходимо также определить методы что периоды прошлого и будущего раздела в модули этого календаря.

Поскольку NSDate класс принимает NSCopying и NSCoding протоколы, Ваш подкласс должен также реализовать все методы в этих протоколах.

Специальные замечания

Ваш подкласс может использовать различную базисную дату, чем дата абсолютной ссылки, используемая NSDate (первая инстанция от 1 января 2001, GMT). Если это делает, это должно все еще использовать дату абсолютной ссылки в своих реализациях методов timeIntervalSinceReferenceDate и initWithTimeIntervalSinceReferenceDate:. Т.е. базисная дата, упомянутая в заголовках этих методов, является датой абсолютной ссылки. Если Вы не используете дату абсолютной ссылки в этих методах, сравнениях между NSDate объекты Вашего подкласса и NSDate объекты частного подкласса не будут работать.

  • Создает и возвращает новый набор даты текущей дате и время.

    Объявление

    Objective C

    + (instancetype)date

    Возвращаемое значение

    Новая дата возражает набору против текущей даты и время.

    Обсуждение

    Этот метод использует метод инициализатора по умолчанию для класса, init.

    Следующий пример кода показывает, как использовать date получить текущую дату:

    • NSDate *today = [NSDate date];

    Оператор импорта

    Objective C

    @import Foundation;

    Доступность

    Доступный в iOS 2.0 и позже.

  • Создает и возвращается NSDate возразите набору против данного числа секунд с текущей даты и время.

    Объявление

    Objective C

    + (instancetype)dateWithTimeIntervalSinceNow:(NSTimeInterval)seconds

    Параметры

    seconds

    Число секунд с текущей даты и время для новой даты. Используйте отрицательную величину для указания даты перед текущей датой.

    Возвращаемое значение

    NSDate возразите набору против seconds секунды с текущей даты и время.

    Оператор импорта

    Objective C

    @import Foundation;

    Доступность

    Доступный в iOS 2.0 и позже.

  • Создает и возвращается NSDate возразите набору против данного числа секунд с указанной даты.

    Объявление

    Objective C

    + (instancetype)dateWithTimeInterval:(NSTimeInterval)seconds sinceDate:(NSDate *)date

    Параметры

    seconds

    Число секунд для добавления к date. Используйте отрицательный параметр для указания даты и времени прежде date.

    date

    Дата.

    Возвращаемое значение

    NSDate возразите набору против seconds секунды от date.

    Оператор импорта

    Objective C

    @import Foundation;

    Доступность

    Доступный в iOS 4.0 и позже.

  • Создает и возвращается NSDate возразите набору против данного числа секунд с первого момента от 1 января 2001, GMT.

    Объявление

    Objective C

    + (instancetype)dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)seconds

    Параметры

    seconds

    Число секунд с даты абсолютной ссылки (первый момент от 1 января 2001, GMT) для новой даты. Используйте отрицательный параметр для указания даты и времени перед базисной датой.

    Возвращаемое значение

    NSDate возразите набору против seconds секунды с даты абсолютной ссылки.

    Оператор импорта

    Objective C

    @import Foundation;

    Доступность

    Доступный в iOS 2.0 и позже.

  • Создает и возвращается NSDate возразите набору против данного числа секунд с первого момента от 1 января 1970, GMT.

    Объявление

    Objective C

    + (instancetype)dateWithTimeIntervalSince1970:(NSTimeInterval)seconds

    Параметры

    seconds

    Число секунд с базисной даты, 1 января 1970, GMT, для новой даты. Используйте отрицательный параметр для указания даты перед этой датой.

    Возвращаемое значение

    NSDate возразите набору против seconds секунды с базисной даты.

    Обсуждение

    Этот метод полезен для создания NSDate объекты от значений time_t, возвращенных системными функциями BSD.

    Оператор импорта

    Objective C

    @import Foundation;

    Доступность

    Доступный в iOS 2.0 и позже.

    См. также

    timeIntervalSince1970

  • init () - init Определяемый инициализатор

    Возвраты NSDate объект, инициализированный к текущей дате и время.

    Объявление

    Swift

    init()

    Objective C

    - (instancetype)init

    Возвращаемое значение

    NSDate объект, инициализированный к текущей дате и время.

    Обсуждение

    Этот метод является определяемым инициализатором для NSDate.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

  • Возвраты NSDate объект, инициализированный относительно текущей даты и время данным числом секунд.

    Объявление

    Swift

    convenience init(timeIntervalSinceNow seconds: NSTimeInterval)

    Objective C

    - (instancetype)initWithTimeIntervalSinceNow:(NSTimeInterval)seconds

    Параметры

    seconds

    Число секунд от относительно текущей даты и время, к которому должен быть инициализирован получатель. Отрицательная величина означает, что возвращенный объект будет представлять дату в прошлом.

    Возвращаемое значение

    NSDate объект, инициализированный относительно текущей даты и время seconds секунды.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

  • Возвраты NSDate объект инициализируется относительно другой данной даты данным числом секунд.

    Объявление

    Swift

    convenience init(timeInterval seconds: NSTimeInterval, sinceDate refDate: NSDate)

    Objective C

    - (instancetype)initWithTimeInterval:(NSTimeInterval)seconds sinceDate:(NSDate *)refDate

    Параметры

    seconds

    Число секунд для добавления к refDate. Отрицательная величина означает, что получатель будет ранее, чем refDate.

    refDate

    Базисная дата.

    Возвращаемое значение

    NSDate объект, инициализированный относительно refDate seconds секунды.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

  • init (timeIntervalSinceReferenceDate:) - initWithTimeIntervalSinceReferenceDate: Определяемый инициализатор

    Возвраты NSDate возразите инициализировал относительный первый момент от 1 января 2001, GMT данным числом секунд.

    Объявление

    Swift

    init(timeIntervalSinceReferenceDate seconds: NSTimeInterval)

    Objective C

    - (instancetype)initWithTimeIntervalSinceReferenceDate:(NSTimeInterval)seconds

    Параметры

    seconds

    Число секунд для добавления к базисной дате (первый момент от 1 января 2001, GMT). Отрицательная величина означает, что получатель будет ранее, чем базисная дата.

    Возвращаемое значение

    NSDate объект, инициализированный относительно даты абсолютной ссылки seconds секунды.

    Обсуждение

    Этот метод является определяемым инициализатором для NSDate класс и объявляется прежде всего для использования подклассов NSDate. Когда Вы разделяете на подклассы NSDate для создания конкретного класса даты необходимо переопределить этот метод.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

  • Возвраты NSDate возразите набору против данного числа секунд с первого момента от 1 января 1970, GMT.

    Объявление

    Swift

    convenience init(timeIntervalSince1970 seconds: NSTimeInterval)

    Objective C

    - (instancetype)initWithTimeIntervalSince1970:(NSTimeInterval)seconds

    Параметры

    seconds

    Число секунд с базисной даты, 1 января 1970, GMT, для новой даты. Используйте отрицательный параметр для указания даты перед этой датой.

    Возвращаемое значение

    NSDate возразите набору против seconds секунды с базисной даты.

    Обсуждение

    Этот метод полезен для создания NSDate объекты от значений time_t, возвращенных системными функциями BSD.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 4.0 и позже.

  • Создает и возвращается NSDate объект, представляющий дату в далеком будущем.

    Объявление

    Swift

    class func distantFuture() -> AnyObject

    Objective C

    + (id)distantFuture

    Возвращаемое значение

    NSDate объект, представляющий дату в далеком будущем (с точки зрения веков).

    Обсуждение

    Можно передать это значение когда NSDate объект требуется, чтобы иметь параметр даты, по существу проигнорированный. Например, NSWindow метод nextEventMatchingMask:untilDate:inMode:dequeue: возвраты nil если событие указало в конечном счете, что маска не происходит перед указанной датой. Можно использовать объект, возвращенный distantFuture как параметр даты для ожидания неопределенно события для появления.

    • myEvent = [myWindow nextEventMatchingMask:myEventMask
    • untilDate:[NSDate distantFuture]
    • inMode:NSDefaultRunLoopMode
    • dequeue:YES];

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

    См. также

    + distantPast

  • Создает и возвращается NSDate объект, представляющий дату в удаленном прошлом.

    Объявление

    Swift

    class func distantPast() -> AnyObject

    Objective C

    + (id)distantPast

    Возвращаемое значение

    NSDate объект, представляющий дату в удаленном прошлом (с точки зрения веков).

    Обсуждение

    Можно использовать этот объект в качестве даты управления, гарантированной нерушимость временной границы.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

    См. также

    + distantFuture

  • Возвращает булево значение, указывающее, является ли данный объект NSDate возразите и точно равняйтесь получателю.

    Объявление

    Swift

    func isEqualToDate(_ anotherDate: NSDate) -> Bool

    Objective C

    - (BOOL)isEqualToDate:(NSDate *)anotherDate

    Параметры

    anotherDate

    Дата для сравнения получателю.

    Возвращаемое значение

    Yes если anotherDate NSDate возразите и точно равно получателю, иначе NOfalse.

    Обсуждение

    Этот метод обнаруживает подвторые различия между датами. Если Вы хотите сравнить даты с меньшим количеством мелкоячеистости, использовать timeIntervalSinceDate: сравнить эти две даты.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

  • Возвращается ранее получателя и другой данной даты.

    Объявление

    Swift

    func earlierDate(_ anotherDate: NSDate) -> NSDate

    Objective C

    - (NSDate *)earlierDate:(NSDate *)anotherDate

    Параметры

    anotherDate

    Дата, с которой можно сравнить получатель.

    Возвращаемое значение

    Ранее получателя и anotherDate, решительное использование timeIntervalSinceDate:. Если получатель и anotherDate представляйте ту же дату, возвращает получатель.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

    См. также

    – выдержите сравнение:
    isEqual: (NSObject протокол)
    – laterDate:

  • Возвращается позже получателя и другой данной даты.

    Объявление

    Swift

    func laterDate(_ anotherDate: NSDate) -> NSDate

    Objective C

    - (NSDate *)laterDate:(NSDate *)anotherDate

    Параметры

    anotherDate

    Дата, с которой можно сравнить получатель.

    Возвращаемое значение

    Позже получателя и anotherDate, решительное использование timeIntervalSinceDate:. Если получатель и anotherDate представляйте ту же дату, возвращает получатель.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

    См. также

    – выдержите сравнение:
    – earlierDate:
    isEqual: (NSObject протокол)

  • Возвращает значение NSComparisonResult, указывающее временное упорядочивание получателя и другой данной даты.

    Объявление

    Swift

    func compare(_ anotherDate: NSDate) -> NSComparisonResult

    Objective C

    - (NSComparisonResult)compare:(NSDate *)anotherDate

    Параметры

    anotherDate

    Дата, с которой можно сравнить получатель.

    Это значение не должно быть nil. Если значение nil, поведение не определено и может измениться в будущих версиях OS X.

    Возвращаемое значение

    Если:

    • Получатель и anotherDate точно равны друг другу, NSOrderedSame

    • Получатель позже своевременно, чем anotherDate, NSOrderedDescending

    • Получатель ранее своевременно, чем anotherDate, NSOrderedAscending.

    Обсуждение

    Этот метод обнаруживает подвторые различия между датами. Если Вы хотите сравнить даты с меньшим количеством мелкоячеистости, использовать timeIntervalSinceDate: сравнить эти две даты.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

    См. также

    – earlierDate:
    isEqual: (NSObject протокол)
    – laterDate:

  • Возвращает интервал между получателем и другой данной датой.

    Объявление

    Swift

    func timeIntervalSinceDate(_ anotherDate: NSDate) -> NSTimeInterval

    Objective C

    - (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate

    Параметры

    anotherDate

    Дата, с которой можно сравнить получатель. Необходимо передать не -nil объект даты.

    Возвращаемое значение

    Интервал между получателем и anotherDate параметр. Если получатель ранее, чем anotherDate, возвращаемое значение отрицательно. Если anotherDate nil, результаты не определены.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

  • timeIntervalSinceNow Свойство

    Временной интервал между датой возражает и текущая дата и время. (только для чтения)

    Объявление

    Swift

    var timeIntervalSinceNow: NSTimeInterval { get }

    Objective C

    @property(readonly) NSTimeInterval timeIntervalSinceNow

    Обсуждение

    Если объект даты ранее, чем текущая дата и время, значение этого свойства отрицательно.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

  • Возвращает интервал между 1 января 2001, в 12:00 GMT и текущая дата и время.

    Объявление

    Swift

    class func timeIntervalSinceReferenceDate() -> NSTimeInterval

    Objective C

    + (NSTimeInterval)timeIntervalSinceReferenceDate

    Возвращаемое значение

    Интервал между датой абсолютной ссылки системы (1 января 2001, в 12:00 GMT) и текущей датой и время.

    Обсуждение

    Этот метод является примитивным методом для NSDate. Если Вы разделяете на подклассы NSDate, необходимо переопределить этот метод с собственной реализацией для него.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

  • Возвращает интервал между объектом даты и 1 января 2001, в 12:00 GMT. (только для чтения)

    Объявление

    Swift

    var timeIntervalSinceReferenceDate: NSTimeInterval { get }

    Objective C

    @property(readonly) NSTimeInterval timeIntervalSinceReferenceDate

    Обсуждение

    Если объект даты ранее, чем 1 января 2001, в 12:00 GMT, значение этого свойства отрицательно.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

  • timeIntervalSince1970 Свойство

    Интервал между датой возражает и 1 января 1970 в 12:00 GMT. (только для чтения)

    Объявление

    Swift

    var timeIntervalSince1970: NSTimeInterval { get }

    Objective C

    @property(readonly) NSTimeInterval timeIntervalSince1970

    Обсуждение

    Если объект даты ранее, чем 1 января 1970 в 12:00 GMT, значение этого свойства отрицательно.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

  • Возвращает новое NSDate объект, установленный в данное число секунд относительно получателя.

    Объявление

    Swift

    func dateByAddingTimeInterval(_ seconds: NSTimeInterval) -> Self

    Objective C

    - (instancetype)dateByAddingTimeInterval:(NSTimeInterval)seconds

    Параметры

    seconds

    Число секунд для добавления к получателю. Использование отрицательная величина в течение многих секунд для имения возвращенного объекта указывает дату перед получателем.

    Возвращаемое значение

    Новое NSDate объект, установленный в seconds секунды относительно получателя. Дата возвратилась, мог бы иметь представление, отличающееся от получателя.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

  • - addTimeInterval: (iOS 4.0)

    Возвращает новое NSDate объект, установленный в данное число секунд относительно получателя.

    Оператор осуждения

    Этот метод был заменен dateByAddingTimeInterval:.

    Объявление

    Objective C

    - (id)addTimeInterval:(NSTimeInterval)seconds

    Параметры

    seconds

    Число секунд для добавления к получателю. Использование отрицательная величина в течение многих секунд для имения возвращенного объекта указывает дату перед получателем.

    Возвращаемое значение

    Новое NSDate объект, установленный в seconds секунды относительно получателя. Дата возвратилась, мог бы иметь представление, отличающееся от получателя.

    Оператор импорта

    Objective C

    @import Foundation;

    Доступность

    Доступный в iOS 2.0 и позже.

    Осуждаемый в iOS 4.0.

  • description Свойство

    Строковое представление объекта даты. (только для чтения)

    Объявление

    Swift

    var description: String { get }

    Objective C

    @property(readonly, copy) NSString *description

    Обсуждение

    Представление полезно для отладки только.

    Существует много опций получить отформатированную строку для даты включая: средства форматирования даты (см. NSDateFormatter и руководство по форматированию данных), и NSDate методы descriptionWithLocale:, dateWithCalendarFormat:timeZone:, и descriptionWithCalendarFormat:timeZone:locale:

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

    См. также

    – descriptionWithLocale:

  • Возвращает строковое представление получателя с помощью данной локали.

    Объявление

    Swift

    func descriptionWithLocale(_ locale: AnyObject?) -> String?

    Objective C

    - (NSString *)descriptionWithLocale:(id)locale

    Параметры

    locale

    NSLocale объект.

    Если Вы передаете nil, NSDate форматирует дату таким же образом как description свойство.

    На OS X v10.4 и ранее, этот параметр был NSDictionary объект. Если Вы передаете в NSDictionary объект на OS X v10.5, NSDate использует пользовательскую локаль по умолчанию — то же, как будто Вы передали в [NSLocale currentLocale].

    Возвращаемое значение

    Строковое представление получателя, с помощью данной локали, или если параметр локали nil, в международном формате YYYY-MM-DD HH:MM:SS ±HHMM, где ±HHMM представляет смещение часового пояса в часах и минутах от GMT (например, “2001-03-24 10:45:32 +0600”)

    Специальные замечания

    На OS X v10.4 и ранее, localeDictionary NSDictionary объект, содержащий данные локали. Для использования предпочтений пользователя можно использовать [[NSUserDefaults standardUserDefaults] dictionaryRepresentation].

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 4.0 и позже.

  • NSDate обеспечивает константу, указывающую число секунд с 1 января 1970 к базисной дате 1 января 2001.

    Объявление

    Swift

    var NSTimeIntervalSince1970: Double { get }

    Objective C

    #define NSTimeIntervalSince1970 978307200.0

    Константы

    • NSTimeIntervalSince1970

      Число секунд с 1 января 1970 к базисной дате, 1 января 2001.

      Доступный в iOS 2.0 и позже.

    Обсуждение

    1 января 1970 эпоха (или начальная точка) в течение времени Unix.

  • Отправленный каждый раз, когда изменяются системные часы. Это может инициироваться вызовом к settimeofday() или пользователь, изменяющий значения в панели Date and Time Preference. Объект уведомления null. Это уведомление не содержит a userInfo словарь.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 4.0 и позже.