2012-02-24 61 views
1

我遇到此消息的问题。这似乎并不能够转换成的NSDate我dateStringCFStringRef无效问题

//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; 
} 

回答

0

如果在

NSString *dateString = @"2012-03-24 00:00:00 +0000"; 

与偏移+0000指定的时区,你必须使用:

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

注意双'Z'和去除的'T'

检查here了解更多信息。

0

您的日期字符串不会对年底Z(该格式要求),它确实有一个时区偏移量(其格式不期望)。

+0

我拿出了Z,它仍然不起作用 – TheLearner 2012-02-24 14:35:49

+0

@TheLearner:你的日期字符串中也有一个时区偏移量 – JeremyP 2012-02-24 14:36:49