我有一个包含此值的字符串:
2010-05-13 23:17:29
我想格式化它并使用以下代码:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateStyle = NSDateFormatterMediumStyle;
NSDate *formattedDate = [formatter dateFromString:dateString];
[formatter release];
当调试器到达发布行时,formattedDate显示“invalid CFStringRef”和
Cannot access memory at address 0x0
任何想法我做错了什么?
答案 0 :(得分:7)
dateFromString
正在返回nil
,因为它无法解析包含日期和时间的字符串。这是因为NSDateFormatterMediumStyle
指定了类似“2010年5月16日”的日期格式(实际上它取决于区域设置和用户设置)。此格式与您的字符串不匹配。
要解析字符串,您应该设置dateFormat
而不是dateStyle
,例如:
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
答案 1 :(得分:0)
可能你的字符串已经发布。
我还怀疑你的日期字符串的格式不正确,这会给你一个空日期。