dateFrom String возвращает неверную дату

Я изо всех сил пытался понять, почему dateFromString method возвращает неправильную дату.

Вот код:

NSDate *secondDate = [df dateFromString:@"12.31.9999"];

И вывод для него, как показано ниже:

1999-12-31 07:00:00 +0000

Проблема в методе? То же самое отлично работает в iOS5. Проблемы только в iOS6.


person Mahesh    schedule 21.08.2013    source источник
comment
какой у вас формат даты?   -  person Dharmbir Singh    schedule 21.08.2013
comment
@DharmbirChoudhary Это MM.dd.yyyy (версия MAC OS 10.8.4)   -  person Mahesh    schedule 21.08.2013
comment
как вы инициализируете средство форматирования даты?   -  person Gabriele Petronella    schedule 21.08.2013
comment
@nielsbot Я установил часовой пояс только на localTimeZone. [df setTimeZone:[NSTimeZone localTimeZone]];   -  person Mahesh    schedule 21.08.2013
comment
Кстати, если вам нужна дата в далеком будущем, просто используйте метод DistanceFuture для NSDate.   -  person nielsbot    schedule 21.08.2013
comment
@GabrielePetronella NSDateFormatter *df = [[NSDateFormatter alloc] init]; [df setDateFormat:@MM.dd.yyyy]; [df setTimeZone:[NSTimeZone localTimeZone]];   -  person Mahesh    schedule 21.08.2013
comment
Я удалил свои другие комментарии ... То, что я сказал, относится к тому, что час отстает на 7 часов, но я также вижу, что год указан неправильно.   -  person nielsbot    schedule 21.08.2013
comment
@nielsbot Даты взяты из веб-сервисов. Я только что попробовал эти две строки кода, по крайней мере, работают ли они нормально или нет. Это не удалось. Вопрос, который я задал здесь, полностью жестко закодирован, чтобы увидеть результат.   -  person Mahesh    schedule 21.08.2013


Ответы (1)


Попробуй это. надеюсь, это решит вашу проблему

- (NSString *) convertedDate : (NSString *) dateStr {

  NSString *finalDate = dateStr;
  NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
  [dateFormatter setDateFormat:@"yyyy/MM/dd"];//In which formate you are date is passing 
  NSDate *date = [dateFormatter dateFromString:finalDate];

  NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
  [formatter setDateFormat:@"MM/dd/yyyy"];// in which formate date you want 
  NSString *dateString = [formatter stringFromDate:date];
  return dateString;
}
person Ayaz    schedule 21.08.2013