2010-06-26 47 views
0

我得到這兩個錯誤:問題的功能,以UNIX時間戳轉換

- (NSString) dateStringFromUnixTimeStamp:(NSInteger)timeStamp { 
//Create Date-String from UNIX-Time-Stamp: 
NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeStamp]; 
NSDateComponents *monthComponents = [[NSCalendar currentCalendar] components:NSMonthCalendarUnit fromDate:date]; 
int month = [monthComponents month]; 

NSDateComponents *dayComponents = [[NSCalendar currentCalendar] components:NSDayCalendarUnit fromDate:date]; 
int day = [dayComponents day] - 1; 

NSDateComponents *yearComponents = [[NSCalendar currentCalendar] components:NSYearCalendarUnit fromDate:date]; 
int year = [yearComponents year]; 

NSString *monthString; 

switch (month) { 
    case 1: 
    monthString = @"Januar"; 
    break; 
    case 2: 
    monthString = @"Februar"; 
    break; 
    case 3: 
    monthString = @"März"; 
    break; 
    case 4: 
    monthString = @"April"; 
    break; 
    case 5: 
    monthString = @"Mai"; 
    break; 
    case 6: 
    monthString = @"Juni"; 
    break; 
    case 7: 
    monthString = @"Juli"; 
    break; 
    case 8: 
    monthString = @"August"; 
    break; 
    case 9: 
    monthString = @"September"; 
    break; 
    case 10: 
    monthString = @"Oktober"; 
    break; 
    case 11: 
    monthString = @"November"; 
    break; 
    case 12: 
    monthString = @"Dezember"; 
    break; 
    default: 
    break; 
} 

NSString *dateString = [[NSString stringWithFormat:@"%d", day] stringByAppendingString:@". "]; 
dateString = [dateString stringByAppendingString:monthString]; 
dateString = [dateString stringByAppendingString:@" "]; 
dateString = [dateString stringByAppendingString:[NSString stringWithFormat:@"%d", year]]; 

return dateString; 
} 

感謝: - 回報

類型不兼容這是我的代碼 - 無法使用一個對象作爲參數的方法 求助!

回答

2

方法的返回類型必須是NSString *而不是NSString

也就是說,你的方法比它要複雜得多。您應該使用NSDateFormatter來格式化日期。將此方法轉化爲少數幾行。另外,如果您報告錯誤消息,則應始終告訴我們錯誤發生在哪一行。

+0

非常感謝幫助!我會用NSDateFormatter來嘗試。 – 2010-06-26 12:02:56

+1

如果這回答你的問題,你應該將答案標記爲接受。 – 2010-06-26 13:26:13