Objective-C - 设备无法识别的日期格式

Gia*_*ian 0 objective-c nsdate nsdateformatter ios

我有一个NSString格式的日期:"Jun 25, 2014 10:10:15 AM"

我需要把这个日期从一个NSDate.但我在日期格式上尝试了一些格式,并且NSDate设备上的值始终为nil.如果我在设备上或在模拟器上运行Xcode它的工作,但我生成.ipa并发送到iPhone无法正常工作.

码:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd, yyyy HH:mm:ss a"];
NSDate * dataStringFormatted = [dateFormat dateFromString: @"Jun 25, 2014 10:10:15 AM"];
Run Code Online (Sandbox Code Playgroud)

我试过格式:

@"MMM dd, yyyy HH:mm:ss a"
@"MMM dd, yyyy H:mm:ss a"
@"MMM dd, yyyy HH:mm:ss aa"
@"MMM dd, yyyy H:mm:ss aa"
@"MMM dd, yyyy HH:mm:ss aaa"
@"MMM dd, yyyy H:mm:ss aaa"
@"MMMM dd, yyyy H:mm:ss aa"
@"MMMM dd, yyyy H:mm:ss aaa"
@"MMMM dd, yyyy H:mm:ss a"
@"MMM dd, yyyy HH:mm:ss A"
Run Code Online (Sandbox Code Playgroud)

对于所有格式,Object始终NSDate为零.

谢谢.

rck*_*nes 6

您的代码存在两个问题,HH即24小时日期,您应该告诉格式化程序日期将使用哪种语言:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
dateFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormat setDateFormat:@"MMM dd, yyyy hh:mm:ss a"];
NSDate * dataStringFormatted = [dateFormat dateFromString: @"Jun 25, 2014 10:10:15 AM"];
Run Code Online (Sandbox Code Playgroud)