NSDate
Соответствует
-
AnyObject
-
CKRecordValue
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSObjectProtocol
-
NSSecureCoding
-
Печатаемый
-
Reflectable
-
NSCopying
-
NSObject
-
NSSecureCoding
Оператор импорта
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 и позже.
См. также
-
Возвраты
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, sinceDaterefDate
: 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 и позже.
См. также
-
Создает и возвращается
NSDate
объект, представляющий дату в удаленном прошлом.Объявление
Swift
class func distantPast() -> AnyObject
Objective C
+ (id)distantPast
Возвращаемое значение
NSDate
объект, представляющий дату в удаленном прошлом (с точки зрения веков).Обсуждение
Можно использовать этот объект в качестве даты управления, гарантированной нерушимость временной границы.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает булево значение, указывающее, является ли данный объект
NSDate
возразите и точно равняйтесь получателю.Объявление
Swift
func isEqualToDate(_
anotherDate
: NSDate) -> BoolObjective C
- (BOOL)isEqualToDate:(NSDate *)
anotherDate
Параметры
anotherDate
Дата для сравнения получателю.
Возвращаемое значение
Yes
еслиanotherDate
NSDate
возразите и точно равно получателю, иначеNO
false
.Обсуждение
Этот метод обнаруживает подвторые различия между датами. Если Вы хотите сравнить даты с меньшим количеством мелкоячеистости, использовать
timeIntervalSinceDate:
сравнить эти две даты.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
– выдержите сравнение:
– earlierDate:
isEqual:
(NSObject
протокол)– laterDate:
-
Возвращается ранее получателя и другой данной даты.
Объявление
Objective C
- (NSDate *)earlierDate:(NSDate *)
anotherDate
Параметры
anotherDate
Дата, с которой можно сравнить получатель.
Возвращаемое значение
Ранее получателя и
anotherDate
, решительное использованиеtimeIntervalSinceDate:
. Если получатель иanotherDate
представляйте ту же дату, возвращает получатель.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
– выдержите сравнение:
isEqual:
(NSObject
протокол)– laterDate:
-
Возвращается позже получателя и другой данной даты.
Объявление
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) -> NSComparisonResultObjective 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) -> NSTimeIntervalObjective 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 и позже.
-
timeIntervalSinceReferenceDate
СвойствоВозвращает интервал между объектом даты и 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) -> SelfObjective 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 и позже.
См. также
-
Возвращает строковое представление получателя с помощью данной локали.
Объявление
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
. Это уведомление не содержит auserInfo
словарь.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 4.0 и позже.