댓글을 추가 한 후 1 년 전, 1 일 전, 1 분 전, 2 월 전과 같은 댓글 타이밍을 표시해야하지만 -4425, -33434 초 전 "임의 숫자"를 반환합니다.NSTimeInterval이 잘못된 시간 간격을 표시합니다.
아래 코드는 내 앱에서 사용하고 있습니다.
NSString *inDateStr = [NSString stringWithFormat:@"%@",[[[dict objectForKey:@"d"] objectAtIndex:indexPath.row-1] objectForKey:@"created"]];
NSString *s = @"yyyy-MM-dd HH:mm:ss";
// about input date(GMT)
NSDateFormatter *inDateFormatter = [[NSDateFormatter alloc] init];
inDateFormatter.dateFormat = s;
inDateFormatter.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT-7.00"];
NSDate *inDate = [inDateFormatter dateFromString:inDateStr];
// about output date(IST)
NSDateFormatter *outDateFormatter = [[NSDateFormatter alloc] init];
outDateFormatter.timeZone = [NSTimeZone localTimeZone];
outDateFormatter.dateFormat = s;
NSString *outDateStr = [outDateFormatter stringFromDate:inDate];
// final output
NSLog(@"[in]%@ -> [out]%@", inDateStr, outDateStr);
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *dateStartingString = [[NSDate alloc] init];
NSString *datestartString = outDateStr;
dateStartingString = [dateFormatter dateFromString:datestartString];
NSTimeInterval timeDifference = [[NSDate date] timeIntervalSinceDate:dateStartingString];
double minutes = timeDifference/60;
double hours = minutes/60;
double seconds = timeDifference;
double days = minutes/1440;
UILabel * dateLbl=[[UILabel alloc] initWithFrame:CGRectMake(155, [[CountArr objectAtIndex:indexPath.row] floatValue]-1, 80, 20)];
if(seconds>=86400)
dateLbl.text=[NSString stringWithFormat:@"%.0f days ", days];
else if(seconds>=3600 && seconds<86400)
dateLbl.text=[NSString stringWithFormat:@"%.0f hours ", hours];
else if (seconds>=60 && seconds<3600)
dateLbl.text=[NSString stringWithFormat:@"%.0f minutes ", minutes];
else
dateLbl.text=[NSString stringWithFormat:@"%.0f seconds ", seconds];
dateLbl.textColor=[UIColor lightGrayColor];
dateLbl.font = [UIFont systemFontOfSize:12];
[cell.contentView addSubview:dateLbl];
만약 내가 분과 초도 필요하다면? –
구성 요소에 NSMinuteCalendarUnit | NSSecondCalendarUnit을 추가 할 수 있습니다. date formate는 HH : mm : ss도 추가합니다. 그 일이 있다면 알려주세요. – user3663584
내 대답이 도움이된다면 대답에 투표 할 수 있습니다. – user3663584