iOS-OC根据时间戳获取距离现在的状态(刚刚,分钟前,今天,昨天)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS-OC根据时间戳获取距离现在的状态(刚刚,分钟前,今天,昨天)相关的知识,希望对你有一定的参考价值。

 ios-OC根据时间戳获取距离现在的状态(刚刚,分钟前,今天,昨天)

获取时间戳

  1. - (NSString *)distanceTimeWithBeforeTime:(double)beTime  
  2. {  
  3.     NSTimeInterval now = [[NSDatedate]timeIntervalSince1970];  
  4.     double distanceTime = now - beTime;  
  5.     NSString * distanceStr;  
  6.   
  7.     NSDate * beDate = [NSDatedateWithTimeIntervalSince1970:beTime];  
  8.     NSDateFormatter * df = [[NSDateFormatteralloc]init];  
  9.     [df setDateFormat:@"HH:mm"];  
  10.     NSString * timeStr = [df stringFromDate:beDate];  
  11.   
  12.     [df setDateFormat:@"dd"];  
  13.     NSString * nowDay = [df stringFromDate:[NSDate date]];  
  14.     NSString * lastDay = [df stringFromDate:beDate];  
  15.   
  16.     if (distanceTime < 60) {//小于一分钟  
  17.         distanceStr = @"刚刚";  
  18.     }  
  19.     else if (distanceTime <60*60) {//时间小于一个小时  
  20.         distanceStr = [NSString stringWithFormat:@"%ld分钟前",(long)distanceTime/60];  
  21.     }  
  22.         else if(distanceTime <24*60*60 && [nowDayintegerValue] == [lastDay integerValue]){//时间小于一天  
  23.             distanceStr = [NSString stringWithFormat:@"今天 %@",timeStr];  
  24.     }  
  25.     else if(distanceTime<24*60*60*2 && [nowDayintegerValue] != [lastDay integerValue]){  
  26.   
  27.         if ([nowDay integerValue] - [lastDay integerValue] ==1 || ([lastDay integerValue] - [nowDayintegerValue] > 10 && [nowDayintegerValue] == 1)) {  
  28.                 distanceStr = [NSString stringWithFormat:@"昨天 %@",timeStr];  
  29.     }  
  30.     else{  
  31.         [df setDateFormat:@"MM-dd HH:mm"];  
  32.         distanceStr = [df stringFromDate:beDate];  
  33.     }  
  34.   
  35.     }  
  36.     else if(distanceTime <24*60*60*365){  
  37.         [df setDateFormat:@"MM-dd HH:mm"];  
  38.         distanceStr = [df stringFromDate:beDate];  
  39.     }  
  40.     else{  
  41.         [df setDateFormat:@"yyyy-MM-dd HH:mm"];  
  42.         distanceStr = [df stringFromDate:beDate];  
  43.     }  
  44.     return distanceStr;  
  45. }  

以上是关于iOS-OC根据时间戳获取距离现在的状态(刚刚,分钟前,今天,昨天)的主要内容,如果未能解决你的问题,请参考以下文章

java通过时间戳获取当前时间

JS将时间戳转换为刚刚N分钟前今天几点几分昨天几点几分等表示法

如何根据来自firebase的时间戳获取排序数据[重复]

时间戳的函数中

根据时间戳获取数据库中的数据

如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)?