为什么NSDateFormatter无法正确转换字符串

时间:2012-06-14 13:30:48

标签: ios nsstring nsdate nsdateformatter

我使用以下代码将NSString转换为NSDate

+(NSDate *)dateOfDateTimeString:(NSString *)string {

    NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
    [dateFormatter setDateFormat:@"yyyy.MM.dd_HH:mm aa"];
    [dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];
    NSDate *date = [dateFormatter dateFromString:string];

    NSLog(@"try to convert string: %@ to date: %@", string, date);

    return date;
}

但是我得到了意想不到的结果:

  

2012-06-14 22:26:59.208 Motilink [2223:707] + [NSDate(Util)dateOfDateTimeString:] [第117行]尝试转换字符串:

     

2012.06.12_21:26 PM to date:2012-06-12 03:26:00 +0000

     

2012-06-14 22:26:59.226 Motilink [2223:707] + [NSDate(Util)dateOfDateTimeString:] [第117行]尝试转换字符串:

     

2012.06.13_15:00 PM to date:2012-06-13 03:00:00 +0000

我做错了什么?

1 个答案:

答案 0 :(得分:4)

下午21:26没有。要么是晚上9:26,要么跳过格式的“aa”部分。