Преобразование строки в проблему NSDate - PullRequest
1 голос
/ 01 сентября 2010

Я просматривал StackOverflow и пока не нашел ответов, если я пропустил сообщение, которое отвечает на это, я извиняюсь и был бы благодарен за ссылку.

Я пытаюсь изменить строку "prod.Start "в тип NSDate для сравнения с сегодняшней датой.Следующий код myDate возвращает «1753-01-01 00:00:00 -075258»

КОД:

NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setFormatterBehavior:NSDateFormatterBehavior10_4];
[format setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate *myDate = [format dateFromString: prod.Start];  //prod.Start = 1/1/1753 12:00:00 AM

Любые предложения / советы будут оценены.

Спасибо

edit:

Работает сейчас: спасибо за помощь.То, что я думал, было ошибкой, было 12:00 = 0:00 AM

Я попробовал 12PM, и вывод был "1753-01-01 12:00:00 -075258"

Спасибо также заобъяснение "-075258" = PST было любопытно по этому поводу.

Ответы [ 2 ]

1 голос
/ 01 сентября 2010

Вы на правильном пути.Функции сравнения NSDate работают только с этим стандартным форматом, так что это правильный вывод (хотя, если мой код не работает, проверьте решение Макса).Теперь вам нужно сравнить это с сегодняшней датой примерно так ...

NSDate *todaysDate = [NSDate date];
BOOL isToday = [todaysDate isEqualToDate:myDate];

Это должно дать вам то, что вы ищете.

0 голосов
/ 01 сентября 2010

Вы используете строку формата в стиле 10.4, но поведение форматера по умолчанию - стиль 10.0. Вы убедились, что ваш форматтер использует правильный стиль? Вы можете изменить его с помощью –setFormatterBehavior: или глобально с помощью +setDefaultFormatterBehavior:.

...