【问题标题】:Problem with Function to convert UNIX TimeStamp转换 UNIX 时间戳的函数问题
【发布时间】:2010-06-26 11:43:42
【问题描述】:

我得到这两个错误: - 不能将对象用作方法的参数 - 不兼容的类型作为回报

这是我的代码:

 - (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;
}

感谢您的帮助!

【问题讨论】:

    标签: iphone ipad unix-timestamp objective-c-2.0


    【解决方案1】:

    你的方法的返回类型必须是NSString *而不是NSString

    也就是说,您的方法比它必须的要复杂得多。您应该使用NSDateFormatter 来格式化日期。把这个方法变成几行代码。

    此外,如果您报告错误消息,您应该始终告诉我们错误发生在哪一行。

    【讨论】:

    • 感谢帮了大忙!我会用 NSDateFormatter 试试。
    猜你喜欢
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-19
    相关资源
    最近更新 更多