CFStringRef问题无效

时间:2012-02-24 14:25:02

标签: iphone objective-c

我遇到此消息的问题。它似乎无法使用我的dateString

转换为NSDate
//dateString = @"2012-03-24 00:00:00 +0000"
+ (NSDate *)dateFromString:(NSString *)dateString {
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];
    [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
    NSDate *result = [dateFormatter dateFromString:dateString]; //Invalid CFStringRef
    [dateFormatter release];
    return result;
}

2 个答案:

答案 0 :(得分:0)

您的日期字符串末尾没有Z(格式所需),并且它确实有时区偏移(格式不期望)。

答案 1 :(得分:0)

如果在

中指定了时区+0000
NSString *dateString = @"2012-03-24 00:00:00 +0000";

你必须使用:

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZ"]; 

注意双'Z''T'的删除。

查看here了解详情。