NSDate
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 объекты частного подкласса не будут работать.
Соответствует
-
AnyObject -
CKRecordValue -
CVarArgType -
Сопоставимый -
Hashable -
NSCoding -
NSCopying -
NSObjectProtocol -
NSSecureCoding -
Печатаемый -
Reflectable -
NSCopying -
NSObject -
NSSecureCoding
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Создает и возвращает новый набор даты текущей дате и время.
Объявление
Objective C
+ (instancetype)dateВозвращаемое значение
Новая дата возражает набору против текущей даты и время.
Обсуждение
Этот метод использует метод инициализатора по умолчанию для класса,
init.Следующий пример кода показывает, как использовать
dateполучить текущую дату:NSDate *today = [NSDate date];
Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
-
Создает и возвращается
NSDateвозразите набору против даты и времени, указанной данной строкой.Объявление
Swift
class func dateWithNaturalLanguageString(_string: String) -> AnyObject?Objective C
+ (id)dateWithNaturalLanguageString:(NSString *)stringПараметры
stringСтрока, содержащая разговорную спецификацию даты, такой как “в прошлый вторник на ужине”, “15:00 31 декабря 2001”, «12/31/01», или «31/12/01».
Возвращаемое значение
Новое
NSDateвозразите набору против текущей даты и время, указанноеstring.Обсуждение
Этот метод поддерживает только ограниченный набор разговорных фраз, прежде всего на английском языке. Это может дать неожиданные результаты, и его использованию строго обескураживают. Для создания даты возражают от строки, необходимо использовать объект средства форматирования даты вместо этого (см.
NSDateFormatterи руководство по форматированию данных).В парсинге строки этот метод использует предпочтения даты и времени, сохраненные в базе данных значений по умолчанию пользователя. (См.
dateWithNaturalLanguageString:locale:для списка используемых конкретных изделий.)Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
-
Создает и возвращается
NSDateвозразите набору против даты и времени, указанной данной строкой.Объявление
Swift
class func dateWithNaturalLanguageString(_string: String, localelocaleDictionary: AnyObject?) -> AnyObject?Objective C
+ (id)dateWithNaturalLanguageString:(NSString *)stringlocale:(id)localeDictionaryПараметры
stringСтрока, содержащая разговорную спецификацию даты, такой как “в прошлый вторник на ужине”, “15:00 31 декабря 2001”, «12/31/01», или «31/12/01».
localeDictionaryNSDictionaryобъект, содержащий данные локали. Для использования предпочтений пользователя можно использовать[[NSUserDefaults standardUserDefaults] dictionaryRepresentation].Если Вы передаете
nilили экземплярNSLocale,NSDateиспользует локаль системного значения по умолчанию — это не то же как локаль текущего пользователя.Возвращаемое значение
Новое
NSDateвозразите набору против даты и времени, указаннойstringкак интерпретируется согласноlocaleDictionary.Обсуждение
Этот метод поддерживает только ограниченный набор разговорных фраз, прежде всего на английском языке. Это может дать неожиданные результаты, и его использованию строго обескураживают. Для создания даты возражают от строки, необходимо использовать объект средства форматирования даты вместо этого (см.
NSDateFormatterи руководство по форматированию данных).Ключи и значения, представляющие данные локали от
localeDictionaryиспользуются при парсинге строки. В дополнение к ключам локали, перечисленным в описании класса, эти ключи используются при парсинге строк естественного языка:NSDateTimeOrderingNSEarlierTimeDesignationsNSHourNameDesignationsNSLaterTimeDesignationsNSNextDayDesignationsNSNextNextDayDesignationsNSPriorDayDesignationsNSThisDayDesignationsNSYearMonthWeekDesignations
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
-
dateWithString (_:) + dateWithString:(OS X v10.10)Создает и возвращается
NSDateобъект со значением даты и времени, указанным данной строкой в международном формате строкового представления (YYYY-MM-DD HH:MM:SS ±HHMM).Объявление
Swift
class func dateWithString(_aString: String) -> AnyObjectObjective C
+ (id)dateWithString:(NSString *)aStringПараметры
aStringСтрока, указывающая значение даты и времени в международном формате строкового представления —
YYYY-MM-DD HH:MM:SS ±HHMM, где±HHMMсмещение часового пояса в часах и минутах от GMT (например, “2001-03-24 10:45:32 +0600”).Необходимо указать все поля строки формата, включая смещение часового пояса, которое должно иметь плюс или префикс знака «минус».
Возвращаемое значение
NSDateобъект со значением даты и времени, указаннымaString.Обсуждение
Для создания даты возражают от строки, необходимо обычно использовать объект средства форматирования даты вместо этого (см.
NSDateFormatterи руководство по форматированию данных).Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
См. также
-
Создает и возвращается
NSDateвозразите набору против данного числа секунд с текущей даты и время.Объявление
Objective C
+ (instancetype)dateWithTimeIntervalSinceNow:(NSTimeInterval)secondsПараметры
secondsЧисло секунд с текущей даты и время для новой даты. Используйте отрицательную величину для указания даты перед текущей датой.
Возвращаемое значение
NSDateвозразите набору противsecondsсекунды с текущей даты и время.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Создает и возвращается
NSDateвозразите набору против данного числа секунд с указанной даты.Объявление
Objective C
+ (instancetype)dateWithTimeInterval:(NSTimeInterval)secondssinceDate:(NSDate *)dateПараметры
secondsЧисло секунд для добавления к
date. Используйте отрицательный параметр для указания даты и времени преждеdate.dateДата.
Возвращаемое значение
NSDateвозразите набору противsecondsсекунды отdate.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.6 и позже.
-
Создает и возвращается
NSDateвозразите набору против данного числа секунд с первого момента от 1 января 2001, GMT.Объявление
Objective C
+ (instancetype)dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)secondsПараметры
secondsЧисло секунд с даты абсолютной ссылки (первый момент от 1 января 2001, GMT) для новой даты. Используйте отрицательный параметр для указания даты и времени перед базисной датой.
Возвращаемое значение
NSDateвозразите набору противsecondsсекунды с даты абсолютной ссылки.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.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;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвраты
NSDateобъект, инициализированный к текущей дате и время.Объявление
Swift
init()Objective C
- (instancetype)initВозвращаемое значение
NSDateобъект, инициализированный к текущей дате и время.Обсуждение
Этот метод является определяемым инициализатором для
NSDate.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
init (строка:) - initWithString:(OS X v10.10)Возвраты
NSDateобъект, инициализированный со значением даты и времени, указанным данной строкой в международном формате строкового представления.Объявление
Swift
convenience init?(stringdescription: String)Objective C
- (id)initWithString:(NSString *)descriptionПараметры
descriptionСтрока, указывающая значение даты и времени в международном формате строкового представления —
YYYY-MM-DD HH:MM:SS ±HHMM, где±HHMMсмещение часового пояса в часах и минутах от GMT (например, “2001-03-24 10:45:32 +0600”).Необходимо указать все поля строки формата, включая смещение часового пояса, которое должно иметь плюс или префикс знака «минус».
Возвращаемое значение
NSDateобъект, инициализированный со значением даты и времени, указаннымaString.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
См. также
-
Возвраты
NSDateобъект, инициализированный относительно текущей даты и время данным числом секунд.Объявление
Swift
convenience init(timeIntervalSinceNowseconds: NSTimeInterval)Objective C
- (instancetype)initWithTimeIntervalSinceNow:(NSTimeInterval)secondsПараметры
secondsЧисло секунд от относительно текущей даты и время, к которому должен быть инициализирован получатель. Отрицательная величина означает, что возвращенный объект будет представлять дату в прошлом.
Возвращаемое значение
NSDateобъект, инициализированный относительно текущей даты и времяsecondsсекунды.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвраты
NSDateобъект инициализируется относительно другой данной даты данным числом секунд.Объявление
Swift
convenience init(timeIntervalseconds: NSTimeInterval, sinceDaterefDate: NSDate)Objective C
- (instancetype)initWithTimeInterval:(NSTimeInterval)secondssinceDate:(NSDate *)refDateПараметры
secondsЧисло секунд для добавления к
refDate. Отрицательная величина означает, что получатель будет ранее, чемrefDate.refDateБазисная дата.
Возвращаемое значение
NSDateобъект, инициализированный относительноrefDatesecondsсекунды.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
init (timeIntervalSinceReferenceDate:) - initWithTimeIntervalSinceReferenceDate:Определяемый инициализаторВозвраты
NSDateвозразите инициализировал относительный первый момент от 1 января 2001, GMT данным числом секунд.Объявление
Swift
init(timeIntervalSinceReferenceDateseconds: NSTimeInterval)Objective C
- (instancetype)initWithTimeIntervalSinceReferenceDate:(NSTimeInterval)secondsПараметры
secondsЧисло секунд для добавления к базисной дате (первый момент от 1 января 2001, GMT). Отрицательная величина означает, что получатель будет ранее, чем базисная дата.
Возвращаемое значение
NSDateобъект, инициализированный относительно даты абсолютной ссылкиsecondsсекунды.Обсуждение
Этот метод является определяемым инициализатором для
NSDateкласс и объявляется прежде всего для использования подклассовNSDate. Когда Вы разделяете на подклассыNSDateдля создания конкретного класса даты необходимо переопределить этот метод.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвраты
NSDateвозразите набору против данного числа секунд с первого момента от 1 января 1970, GMT.Объявление
Swift
convenience init(timeIntervalSince1970seconds: NSTimeInterval)Objective C
- (instancetype)initWithTimeIntervalSince1970:(NSTimeInterval)secondsПараметры
secondsЧисло секунд с базисной даты, 1 января 1970, GMT, для новой даты. Используйте отрицательный параметр для указания даты перед этой датой.
Возвращаемое значение
NSDateвозразите набору противsecondsсекунды с базисной даты.Обсуждение
Этот метод полезен для создания
NSDateобъекты от значений time_t, возвращенных системными функциями BSD.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
Создает и возвращается
NSDateобъект, представляющий дату в далеком будущем.Объявление
Swift
class func distantFuture() -> AnyObjectObjective C
+ (id)distantFutureВозвращаемое значение
NSDateобъект, представляющий дату в далеком будущем (с точки зрения веков).Обсуждение
Можно передать это значение когда
NSDateобъект требуется, чтобы иметь параметр даты, по существу проигнорированный. Например,NSWindowметодnextEventMatchingMask:untilDate:inMode:dequeue:возвратыnilесли событие указало в конечном счете, что маска не происходит перед указанной датой. Можно использовать объект, возвращенныйdistantFutureкак параметр даты для ожидания неопределенно события для появления.myEvent = [myWindow nextEventMatchingMask:myEventMaskuntilDate:[NSDate distantFuture]inMode:NSDefaultRunLoopModedequeue:YES];
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Создает и возвращается
NSDateобъект, представляющий дату в удаленном прошлом.Объявление
Swift
class func distantPast() -> AnyObjectObjective C
+ (id)distantPastВозвращаемое значение
NSDateобъект, представляющий дату в удаленном прошлом (с точки зрения веков).Обсуждение
Можно использовать этот объект в качестве даты управления, гарантированной нерушимость временной границы.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает булево значение, указывающее, является ли данный объект
NSDateвозразите и точно равняйтесь получателю.Объявление
Swift
func isEqualToDate(_anotherDate: NSDate) -> BoolObjective C
- (BOOL)isEqualToDate:(NSDate *)anotherDateПараметры
anotherDateДата для сравнения получателю.
Возвращаемое значение
YesеслиanotherDateNSDateвозразите и точно равно получателю, иначеNOfalse.Обсуждение
Этот метод обнаруживает подвторые различия между датами. Если Вы хотите сравнить даты с меньшим количеством мелкоячеистости, использовать
timeIntervalSinceDate:сравнить эти две даты.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
– выдержите сравнение:– earlierDate:isEqual:(NSObjectпротокол)– laterDate: -
Возвращается ранее получателя и другой данной даты.
Объявление
Objective C
- (NSDate *)earlierDate:(NSDate *)anotherDateПараметры
anotherDateДата, с которой можно сравнить получатель.
Возвращаемое значение
Ранее получателя и
anotherDate, решительное использованиеtimeIntervalSinceDate:. Если получатель иanotherDateпредставляйте ту же дату, возвращает получатель.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
– выдержите сравнение:isEqual:(NSObjectпротокол)– laterDate: -
Возвращается позже получателя и другой данной даты.
Объявление
Objective C
- (NSDate *)laterDate:(NSDate *)anotherDateПараметры
anotherDateДата, с которой можно сравнить получатель.
Возвращаемое значение
Позже получателя и
anotherDate, решительное использованиеtimeIntervalSinceDate:. Если получатель иanotherDateпредставляйте ту же дату, возвращает получатель.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.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Доступность
Доступный в OS X v10.0 и позже.
См. также
– earlierDate:isEqual:(NSObjectпротокол)– laterDate:
-
Возвращает интервал между получателем и другой данной датой.
Объявление
Swift
func timeIntervalSinceDate(_anotherDate: NSDate) -> NSTimeIntervalObjective C
- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDateПараметры
anotherDateДата, с которой можно сравнить получатель. Необходимо передать не -
nilобъект даты.Возвращаемое значение
Интервал между получателем и
anotherDateпараметр. Если получатель ранее, чемanotherDate, возвращаемое значение отрицательно. ЕслиanotherDatenil, результаты не определены.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
timeIntervalSinceNow timeIntervalSinceNowСвойствоВременной интервал между датой возражает и текущая дата и время. (только для чтения)
Объявление
Swift
var timeIntervalSinceNow: NSTimeInterval { get }Objective C
@property(readonly) NSTimeInterval timeIntervalSinceNowОбсуждение
Если объект даты ранее, чем текущая дата и время, значение этого свойства отрицательно.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает интервал между 1 января 2001, в 12:00 GMT и текущая дата и время.
Объявление
Swift
class func timeIntervalSinceReferenceDate() -> NSTimeIntervalObjective C
+ (NSTimeInterval)timeIntervalSinceReferenceDateВозвращаемое значение
Интервал между датой абсолютной ссылки системы (1 января 2001, в 12:00 GMT) и текущей датой и время.
Обсуждение
Этот метод является примитивным методом для
NSDate. Если Вы разделяете на подклассыNSDate, необходимо переопределить этот метод с собственной реализацией для него.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.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Доступность
Доступный в OS X v10.0 и позже.
-
Интервал между датой возражает и 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Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает новое
NSDateобъект, установленный в данное число секунд относительно получателя.Объявление
Swift
func dateByAddingTimeInterval(_seconds: NSTimeInterval) -> Self!Objective C
- (instancetype)dateByAddingTimeInterval:(NSTimeInterval)secondsПараметры
secondsЧисло секунд для добавления к получателю. Использование отрицательная величина в течение многих секунд для имения возвращенного объекта указывает дату перед получателем.
Возвращаемое значение
Новое
NSDateобъект, установленный вsecondsсекунды относительно получателя. Дата возвратилась, мог бы иметь представление, отличающееся от получателя.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
addTimeInterval: - addTimeInterval:(OS X v10.6)Возвращает новое
NSDateобъект, установленный в данное число секунд относительно получателя.Оператор осуждения
Этот метод был заменен
dateByAddingTimeInterval:.Объявление
Objective C
- (id)addTimeInterval:(NSTimeInterval)secondsПараметры
secondsЧисло секунд для добавления к получателю. Использование отрицательная величина в течение многих секунд для имения возвращенного объекта указывает дату перед получателем.
Возвращаемое значение
Новое
NSDateобъект, установленный вsecondsсекунды относительно получателя. Дата возвратилась, мог бы иметь представление, отличающееся от получателя.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.6.
-
Строковое представление объекта даты. (только для чтения)
Объявление
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Доступность
Доступный в OS X v10.0 и позже.
-
descriptionWithCalendarFormat (_: timeZone:locale:) - descriptionWithCalendarFormat:timeZone:locale:(OS X v10.10)Возвращает строковое представление получателя, отформатированного, как указано данными спецификаторами преобразования.
Объявление
Swift
func descriptionWithCalendarFormat(_formatString: String?, timeZoneaTimeZone: NSTimeZone?, localelocaleDictionary: AnyObject?) -> String?Objective C
- (NSString *)descriptionWithCalendarFormat:(NSString *)formatStringtimeZone:(NSTimeZone *)aTimeZonelocale:(id)localeDictionaryПараметры
formatStringФормат для возвращаемой строки (см. Средства форматирования Даты и Числа на OS X v10.0 к 10,3 для обсуждения того, как создать строку формата). Передача
nilиспользовать строку формата по умолчанию, “%Y-%m-%d %H:%M:%S %z” (это соответствует международному форматуYYYY-MM-DD HH:MM:SS ±HHMM.)aTimeZoneЧасовой пояс, в котором можно представлять получатель. Передача
nilиспользовать часовой пояс по умолчанию — определенный для текущей локали.localeDictionaryNSDictionaryобъект, содержащий данные локали. Для использования предпочтений пользователя можно использовать[[NSUserDefaults standardUserDefaults] dictionaryRepresentation].Если Вы передаете
nilили экземплярNSLocale,NSDateиспользует локаль системного значения по умолчанию — это не то же как локаль текущего пользователя.Возвращаемое значение
Строковое представление получателя, отформатированного, как указано данными спецификаторами преобразования.
Обсуждение
Существует несколько проблем с реализацией этого метода, который не может быть фиксирован по причинам совместимости. Для форматирования даты необходимо использовать объект средства форматирования даты вместо этого (см.
NSDateFormatterи руководство по форматированию данных).Вы могли использовать этот метод для печати текущего времени следующим образом:
sprintf(aString, "The current time is %s\n", [[[NSDate date]descriptionWithCalendarFormat:@"%H:%M:%S %Z" timeZone:nillocale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]]UTF8String]);
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
См. также
-
Возвращает строковое представление получателя с помощью данной локали.
Объявление
Swift
func descriptionWithLocale(_locale: AnyObject?) -> String?Objective C
- (NSString *)descriptionWithLocale:(id)localeПараметры
localeNSLocaleобъект.Если Вы передаете
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 и ранее,
localeDictionaryNSDictionaryобъект, содержащий данные локали. Для использования предпочтений пользователя можно использовать[[NSUserDefaults standardUserDefaults] dictionaryRepresentation].Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Преобразовывает получатель в
NSCalendarDateобъект с данной строкой формата и часовым поясом.Оператор осуждения
Используйте
NSDateметоды для установки отдельных значений даты.Объявление
Swift
func dateWithCalendarFormat(_formatString: String?, timeZonetimeZone: NSTimeZone?) -> NSCalendarDateObjective C
- (NSCalendarDate *)dateWithCalendarFormat:(NSString *)formatStringtimeZone:(NSTimeZone *)timeZoneПараметры
formatStringФормат для возвращаемой строки (см. Средства форматирования Даты и Числа на OS X v10.0 к 10,3 для обсуждения того, как создать строку формата). Передача
nilиспользовать строку формата по умолчанию, “%Y-%m-%d %H:%M:%S %z” (это соответствует международному форматуYYYY-MM-DD HH:MM:SS ±HHMM.)timeZoneЧасовой пояс для новой календарной даты. Передача
nilиспользовать часовой пояс по умолчанию — определенный для текущей локали.Возвращаемое значение
Новое
NSCalendarDateобъект, связанный сformatStringи часовой поясtimeZone.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.10.
-
NSDateобеспечивает константу, указывающую число секунд с 1 января 1970 к базисной дате 1 января 2001.Объявление
Swift
var NSTimeIntervalSince1970: Double { get }Objective C
#define NSTimeIntervalSince1970 978307200.0Константы
-
NSTimeIntervalSince1970NSTimeIntervalSince1970Число секунд с 1 января 1970 к базисной дате, 1 января 2001.
Доступный в OS X v10.0 и позже.
Обсуждение
1 января 1970 эпоха (или начальная точка) в течение времени Unix.
-
-
Отправленный каждый раз, когда изменяются системные часы. Это может инициироваться вызовом к
settimeofday()или пользователь, изменяющий значения в панели Date and Time Preference. Объект уведомленияnull. Это уведомление не содержит auserInfoсловарь.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
