Contents

date(withNaturalLanguageString:locale:)

Creates and returns a date object set to the date and time specified by a given string.

Declaration

class func date(withNaturalLanguageString string: String, locale: Any?) -> Any?

Parameters

  • string:

    A string that contains a colloquial specification of a date, such as “last Tuesday at dinner,” “3pm December 31, 2001,” “12/31/01,” or “31/12/01.”

  • locale:

    An NSDictionary object containing locale data. To use the user’s preferences, you can use [[NSUserDefaults standardUserDefaults] dictionaryRepresentation].

    If you pass nil or an instance of NSLocale, NSDate uses the system default locale—this is not the same as the current user’s locale.

Return Value

A new NSDate object set to the date and time specified by string as interpreted according to locale.

Discussion

This method supports only a limited set of colloquial phrases, primarily in English. It may give unexpected results, and its use is strongly discouraged. To create a date object from a string, you should use a date formatter object instead (see DateFormatter and Data Formatting Guide).

The keys and values that represent the locale data from locale are used when parsing the string. In addition to the locale keys listed in the class description, these keys are used when parsing natural language strings:

  • NSDateTimeOrdering

  • NSEarlierTimeDesignations

  • NSHourNameDesignations

  • NSLaterTimeDesignations

  • NSNextDayDesignations

  • NSNextNextDayDesignations

  • NSPriorDayDesignations

  • NSThisDayDesignations

  • NSYearMonthWeekDesignations

See Also

Legacy Operations