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