ios 时间类转化为字符串详解手机开发

//  NSString* timeStr = [self stringWithDate: [NSDate dateWithTimeIntervalSince1970:userGifGrouptEntity.lastGiftSentTime / 1000]] 
 
- (NSString *)stringWithDate:(NSDate *)date  { 
 
    if (date == nil) 
 
        return @""; 
 
    NSDate *now = [NSDate date]; 
 
    NSTimeInterval time = [now timeIntervalSinceDate:date]; 
 
    NSCalendar* calendar = [NSCalendar currentCalendar]; 
 
    NSDateComponents *nowComponents = [calendar components:NSYearCalendarUnit | NSHourCalendarUnit fromDate:now]; 
 
    NSDateComponents *dateComponets = [calendar components:NSYearCalendarUnit fromDate:date]; 
 
     
 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
 
    [dateFormatter setCalendar: [NSCalendar autoupdatingCurrentCalendar]]; 
 
     
 
    if ([nowComponents year] != [dateComponets year]) { 
 
            [dateFormatter setDateFormat:@"MM-dd-yyyy"]; 
 
             return [dateFormatter stringFromDate:date]; 
 
    } 
 
      int nowHour = (int)[nowComponents hour]; 
 
    int days_ago = ((int)time + 3600*(24-nowHour))/(3600*24); 
 
     
 
    if (days_ago == 0){ 
 
        [dateFormatter setDateFormat:@"HH:mm"]; 
 
        return [dateFormatter stringFromDate:date]; 
 
    }else if(days_ago == 1) { 
 
                    return @"Yesterday"; 
 
          }else{ 
 
         
 
            [dateFormatter setDateFormat:@"MM-dd"]; 
 
      
 
        return [dateFormatter stringFromDate:date]; 
 
    } 
 
}

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/5141.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论