Ios6 另一个NSDateFormatter问题
在阅读了文档之后,下面的案例似乎应该有效,但结果总是零。(这是针对iOS sdk 6的) 有什么见解吗Ios6 另一个NSDateFormatter问题,ios6,nsdate,nsdateformatter,Ios6,Nsdate,Nsdateformatter,在阅读了文档之后,下面的案例似乎应该有效,但结果总是零。(这是针对iOS sdk 6的) 有什么见解吗 提前感谢您的帮助。试试这个怎么样。如果您的日期字符串未按我的猜测进行定位,即使是苹果公司也建议您可以使用以下内容: struct tm tmDate; const char *formatString = "%Y-%m-%dT%H:%M:%S%z"; strptime_l(releaseDate, formatString, & tmDate, NULL); date = [NSDa
提前感谢您的帮助。试试这个怎么样。如果您的日期字符串未按我的猜测进行定位,即使是苹果公司也建议您可以使用以下内容:
struct tm tmDate;
const char *formatString = "%Y-%m-%dT%H:%M:%S%z";
strptime_l(releaseDate, formatString, & tmDate, NULL);
date = [NSDate dateWithTimeIntervalSince1970: mktime(& tmDate)];
NSLog(@"Result date: %@", date);
但发布日期必须是C字符串,如
const char*releaseDate=“2012-10-22T00:00:00-07:00”
,也可以通过NSString
的UTF8String
方法获得。对这些文件的重新阅读揭示了我的误解:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSString *releaseDate = @"2012-10-22T00:00:00-07:00";
NSDate *date = nil;
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZZ"];
date = [dateFormatter dateFromString:releaseDate];
NSLog(@"Result date: %@", date);
NSLog(@"Result string: %@", [dateFormatter stringFromDate:date]);
“T”必须用撇号括起来,时区的“ZZZZZ”已经包含了“-”,因此必须删除它
现在它可以正常工作了。谢谢。我试试看。不过,我还是不明白为什么文档格式不起作用!
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSString *releaseDate = @"2012-10-22T00:00:00-07:00";
NSDate *date = nil;
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZZ"];
date = [dateFormatter dateFromString:releaseDate];
NSLog(@"Result date: %@", date);
NSLog(@"Result string: %@", [dateFormatter stringFromDate:date]);