如何格式化字符串的日期?

4th*_*ace 2 iphone cocoa-touch objective-c nsdate

我有一个具有此值的字符串:

2010-05-13 23:17:29
Run Code Online (Sandbox Code Playgroud)

我想格式化它并使用以下代码:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateStyle = NSDateFormatterMediumStyle;
NSDate *formattedDate = [formatter dateFromString:dateString];
[formatter release];
Run Code Online (Sandbox Code Playgroud)

当调试器到达释放行时,formattedDate显示"invalid CFStringRef"和

Cannot access memory at address 0x0
Run Code Online (Sandbox Code Playgroud)

我有什么想法我做错了吗?

Phi*_*oss 7

dateFromString正在返回,nil因为它无法解析包含日期和时间的字符串.这是因为NSDateFormatterMediumStyle指定了类似"2010年5月16日"的日期格式(实际上它取决于区域设置和用户设置).此格式与您的字符串不匹配.

要解析你的字符串,你应该设置一个dateFormat而不是dateStyle,例如:

formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
Run Code Online (Sandbox Code Playgroud)