используя NSDate, чтобы найти DATE из строки - PullRequest
3 голосов
/ 08 июля 2011

У меня проблема с поиском даты из строки, отформатированной с использованием NSDateFormatter

Теперь я использую этот код:

NSDate *afterDate=[NSDate dateWithNaturalLanguageString:balanceDateAfter.stringValue];

Этот код возвращает дату сФормат GeorgianCalendar, но я хочу его в PersianCalendar.

Я думаю, что если я буду использовать этот код:

NSDate *afterDate=[NSDate dateWithNaturalLanguageString:balanceDateAfter.stringValue locale:];

Он вернет истинный формат даты, но я не знаю, как я могу использовать locale для установки подходящего форматера даты (или моей системной локали).


balanceDateAfter в вышеприведенных кодах - это NSTextfield с NSDateFormatter.

1 Ответ

1 голос
/ 08 июля 2011

NSDate s не имеют календаря. NSDate представляет абсолютный момент времени, который определяется разницей между этим моментом и первым моментом 1 января 2001 года в GMT. По сути, это положительное или отрицательное количество секунд, не более.

Если у вас есть соответствующий форматер, назначенный текстовому полю, вы должны получить его значение, используя -objectValue , а не -stringValue. Таким образом, вы получите NSDate напрямую, и вам не нужно будет анализировать строку самостоятельно.

...