Ios4 dateFromString在更改24小时后返回nil

Ios4 dateFromString在更改24小时后返回nil,ios4,nsdate,nsformatter,Ios4,Nsdate,Nsformatter,我在iPhone中使用24小时设置。更改为24小时设置后,datefromstring始终返回nil。我改成12小时制,它又开始工作了。为什么? 需要设置区域设置,以避免受到24小时设置更改的影响。 格式还必须与输入字符串匹配(在您的示例中包括日期): 有关更多信息,请参阅 NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init]; [timeFormat setDateFormat:@"hh:mm a"]; NSDate* so

我在iPhone中使用24小时设置。更改为24小时设置后,datefromstring始终返回nil。我改成12小时制,它又开始工作了。为什么?

需要设置区域设置,以避免受到24小时设置更改的影响。
格式还必须与输入字符串匹配(在您的示例中包括日期):

有关更多信息,请参阅

NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
[timeFormat setDateFormat:@"hh:mm a"];

NSDate* sourceDate = [timeFormat dateFromString:@"19/11/2010 12:00 am"];
if(sourceDate==nil)
{
    NSLog(@"source date nil");
}
NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
NSLocale *locale = [[[NSLocale alloc] 
                    initWithLocaleIdentifier:@"en_US_POSIX"] autorelease];  
[timeFormat setLocale:locale];
[timeFormat setDateFormat:@"dd/MM/yyyy hh:mm a"];

NSDate* sourceDate = [timeFormat dateFromString:@"19/11/2010 12:00 am"];
if(sourceDate==nil)
{
    NSLog(@"source date nil");
}