2014-11-03 69 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];