将UNIX时间戳转换为数据 - iOS

时间:2013-10-16 15:43:21

标签: ios cocoa-touch date nsdate unix-timestamp

我有一个iOS应用程序,它解析数据的JSON提要。在这个数据中有一些UNIX时间戳,我存储在NSString中。我想要做的是将这些时间戳转换为日期(月和日)。但是我试图在没有自己进行任何划分的情况下这样做,因为根据我在网上看到的内容,你应该总是使用Apple的API进行转换以获得准确的结果。

但是我的代码无效,我收到此错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber length]: unrecognized selector sent to instance 

这是我的代码:

NSString *time_string = [timestamps objectAtIndex:indexPath.row];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [formatter dateFromString:time_string];

cell.dateOfPub.text = [NSString stringWithFormat:@"%@", date];

我不明白我做错了什么。任何帮助将不胜感激。

谢谢,Dan

1 个答案:

答案 0 :(得分:7)

double unixTimeStamp = [time_string doubleValue];
NSTimeInterval _interval=unixTimeStamp;
NSDate *date = [NSDate dateWithTimeIntervalSince1970:_interval];
NSDateFormatter *_formatter=[[NSDateFormatter alloc]init];
[_formatter setLocale:[NSLocale currentLocale]];
[_formatter setDateFormat:@"dd.MM.yyyy"];
NSString *_date=[_formatter stringFromDate:date];