iOS-OC根据时间戳获取距离现在的状态(刚刚,分钟前,今天,昨天)
获取时间戳
- - (NSString *)distanceTimeWithBeforeTime:(double)beTime
- {
- NSTimeInterval now = [[NSDatedate]timeIntervalSince1970];
- double distanceTime = now - beTime;
- NSString * distanceStr;
-
- NSDate * beDate = [NSDatedateWithTimeIntervalSince1970:beTime];
- NSDateFormatter * df = [[NSDateFormatteralloc]init];
- [df setDateFormat:@"HH:mm"];
- NSString * timeStr = [df stringFromDate:beDate];
-
- [df setDateFormat:@"dd"];
- NSString * nowDay = [df stringFromDate:[NSDate date]];
- NSString * lastDay = [df stringFromDate:beDate];
-
- if (distanceTime < 60) {
- distanceStr = @"刚刚";
- }
- else if (distanceTime <60*60) {
- distanceStr = [NSString stringWithFormat:@"%ld分钟前",(long)distanceTime/60];
- }
- else if(distanceTime <24*60*60 && [nowDayintegerValue] == [lastDay integerValue]){
- distanceStr = [NSString stringWithFormat:@"今天 %@",timeStr];
- }
- else if(distanceTime<24*60*60*2 && [nowDayintegerValue] != [lastDay integerValue]){
-
- if ([nowDay integerValue] - [lastDay integerValue] ==1 || ([lastDay integerValue] - [nowDayintegerValue] > 10 && [nowDayintegerValue] == 1)) {
- distanceStr = [NSString stringWithFormat:@"昨天 %@",timeStr];
- }
- else{
- [df setDateFormat:@"MM-dd HH:mm"];
- distanceStr = [df stringFromDate:beDate];
- }
-
- }
- else if(distanceTime <24*60*60*365){
- [df setDateFormat:@"MM-dd HH:mm"];
- distanceStr = [df stringFromDate:beDate];
- }
- else{
- [df setDateFormat:@"yyyy-MM-dd HH:mm"];
- distanceStr = [df stringFromDate:beDate];
- }
- return distanceStr;
- }
iOS-OC根据时间戳获取距离现在的状态(刚刚,分钟前,今天,昨天)
原文:http://www.cnblogs.com/LiLihongqiang/p/5924313.html