Ошибка NSDateFormatter IOS

у меня есть функция для преобразования в NSDate с помощью NSDateFormatter.

+(NSDate*)getDateFromCurrentTimestamp:(NSString*)currentTimestamp{
//    currentTimestamp= @"28-Feb-2012 16:42:19 PM";

    NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
    [dateFormatter setDoesRelativeDateFormatting:NO];
    [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
    [dateFormatter setFormatterBehavior:NSDateFormatterShortStyle];
    //[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehaviorDefault];
    [dateFormatter setDateFormat:@"dd-MMM-yyyy HH:mm:ss a"];

    return [dateFormatter dateFromString:currentTimestamp];
}

IOS 5.x возвращается правильно NSDate. при запуске на 4.1 и 4.2 также вернул правильный NSDate. при запуске на 4.3.2 и 4.3.3 возвращается null.

как это возможно? любой обходной путь этого?


ИЗМЕНИТЬ

Это не вызвано ошибкой iOS. это связано с самим телефоном. на некоторых телефонах установлены разные locale устройства. поэтому нам пришлось заставить его использовать один locale.


person HelmiB    schedule 02.04.2012    source источник
comment
Ваши region и locale установлены для устройств 4.3.2 и 4.3.3? Посмотрите, помогает ли этот вопрос SO   -  person tipycalFlow    schedule 02.04.2012
comment
Да, наверное, ты прав. возможно, проблема связана с locale не версией ios. Я попробую немного.   -  person HelmiB    schedule 02.04.2012
comment
Работал с: [dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"] autorelease]];. благодаря. очень жаль, что не могу принять ваш ответ.   -  person HelmiB    schedule 02.04.2012


Ответы (2)


Из нашего обсуждения в комментариях:

Установлены ли ваш регион и язык для устройств 4.3.2 и 4.3.3? Посмотрите, поможет ли этот SO вопрос.

Соответствующий код:

[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"] autorelease]];
person tipycalFlow    schedule 02.04.2012

Похоже, кто-то уже сталкивался с этой проблемой. Обходной путь описан здесь: NSDateFormatter возвращается null для даты в iOS 4.3.3

person ThomasW    schedule 02.04.2012
comment
Спасибо, substring — еще одна альтернатива. но я не хочу делать это здесь. - person HelmiB; 02.04.2012