2014-11-03 70 views
1
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
     [dateFormatter setDateFormat:@"EEE,d MMM YYYY"]; 
    [dateFormatter setLocale:[NSLocale currentLocale]]; 
    NSDate *dateFromString = [[NSDate alloc] init]; 
    dateFromString = [dateFormatter dateFromString:@"Sun,2 Nov 2014"]; 

输出日期出现误导输出像2013年12月21日18:30:00 +0000NSDateFormatter问题,当日期字符串从字符串转换成NSDate的对象

+0

什么是预期的输出??? – 2014-11-03 10:47:36

回答

3

让我猜猜,你这样做是为了测试输出:

NSLog(@"%@", dateFromString); 

,而不是做:

NSLog(@"%@", [dateFormatter stringFromDate:dateFromString]); 

这是因为NSLog()将调用[NSDate description]格式化日期,并且不会考虑您可能需要的任何格式或时区。

+0

你是对的,但它给了我错误的日期输出给出字符串日期。 – 2014-11-03 10:40:14

+0

@VinodJadhav定义“错误”。 – trojanfoe 2014-11-03 10:40:40

+0

参数为dateFromString:方法是@“Sun,2014年11月2日”,它给我输出Sun,2013年12月22日 – 2014-11-03 10:43:04

0

尝试这个

NSString *dateStr = @"Sun,2 Nov 2014"; 

// Convert string to date object 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"EEE,d MMM yyyy"]; 
NSDate *date = [dateFormat dateFromString:dateStr];