2012-10-16 68 views
1
NSString *dateString = [[items objectAtIndex:indexPath.row] objectForKey:@"date"]; 
NSLog(@"DATE: %@",dateString); 
// outputs 16/10 23:59:49 

NSDateFormatter *dateFormat; 
[dateFormat setDateFormat:@"dd/MM HH:mm:ss"]; 
NSDate *date = [dateFormat dateFromString:dateString]; 

NSLog(@"DATE: %@", date); 
// outputs null 

但它每次都輸出空。 請你能幫助我,我做錯了什麼?NSDateFormatter&NSDate dateFromString outputs null

+3

初始格式化程序,NSDateFormatter * dateFormat = [[NSDateFormatter alloc] init]; – jcesarmobile

回答

0

你忘了創建NSDateFormatter

此時應更換行:

NSDateFormatter *dateFormat; 

有了:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
0

您需要創建

NSDateFormatter * dateFormatter = [[ NSDateFormatter alloc] 在裏面];

+0

謝謝,我意識到這是一個愚蠢的錯誤! –

0

您必須設置年份,否則日期將顯示爲空。您可以使用當前年份並將字符串分隔成幾個月和幾天,然後像這樣設置"dd-MM-yyyy"或您想要的任何其他方式。

NSString *string = @"16/10 23:59:49"; 
    NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
    [df setDateFormat:@"yyyy-MM-dd"]; 

    NSArray *arrayDateData = [string componentsSeparatedByString:@"/"]; 
    NSString *dayStr =[arrayDateData objectAtIndex:0]; 
    NSString *string1 =[arrayDateData objectAtIndex:1]; 
    NSString *monStr = [[string1 componentsSeparatedByString:@" "] objectAtIndex:0]; 

    NSString *timeString; 
    timeString=[NSString stringWithFormat:@"%d-%@-%@",2012,monStr,dayStr]; 
    NSDate *dateFromString = [[NSDate alloc] init]; 
    dateFromString=[df dateFromString:timeString]; 
    NSLog(@"date from string: %@",dateFromString); 

我認爲這會對您有所幫助。