我有一个在Unix时间戳中从服务器检索到的日期,这就是我检索它的方式,它运行良好:
double unixTimeStamp = [[date objectAtIndex:indexPath.row / 2] doubleValue];
NSTimeInterval _interval=unixTimeStamp;
NSDate *dateToFinal = [NSDate dateWithTimeIntervalSince1970:_interval];
NSDateFormatter *_formatter=[[NSDateFormatter alloc]init];
_formatter.dateFormat = @"yyyy-MMMM-dd HH:mm:ss zzz";
[_formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:[[NSUserDefaults standardUserDefaults] objectForKey:@"timeZone"]] ];
[_formatter setDateFormat:@"dd-MMMM-yyyy"];
dateFinal=[_formatter stringFromDate:dateToFinal];
NSDateFormatter *_formatter2=[[NSDateFormatter alloc]init];
_formatter2.dateFormat = @"yyyy-MMMM-dd HH:mm:ss zzz";
[_formatter2 setTimeZone:[NSTimeZone timeZoneWithAbbreviation:[[NSUserDefaults standardUserDefaults] objectForKey:@"timeZone"]] ];
[_formatter2 setDateFormat:@"HH:mm"];
dateTime =[_formatter2 stringFromDate:dateToFinal];
这个日期加载在一个tableViewCell中,有没有任何方法可以在该自定义单元格中创建一个字段,它会在其中显示事件的剩余日期
示例:
活动日期:2014年4月27日下午7:00,因此此字段应显示:
活动还剩2天2小时
感谢
逻辑获取时间戳(1970年的秒数)并逐步转换。
int timestamp = [[NSDate date] timeIntervalSince1970];
- 从秒开始,持续1年
- 如果您的时间戳大于1年时间戳
然后提高年数,然后在带有1年时间戳的时间戳
否则,检查1个月之间的差异,并遵循相同的逻辑
GitHub上有很多库可以做到这一点。
例如:
Pretty时间戳
SE人性化时差
看看吧!:)