您的位置:首页 > 其它

给定一个时间,计算距离当前时间的时间差

2016-08-16 00:00 537 查看
NSString *bill_timeStr=@"2016-08-11 12:12:47";

NSString *str1=[self intervalSinceNow:bill_timeStr];

调用方法

- (NSString *)intervalSinceNow: (NSString *) theDate
{
NSArray *timeArray=[theDate componentsSeparatedByString:@"."];
theDate=[timeArray objectAtIndex:0];
NSDateFormatter *date=[[NSDateFormatter alloc] init];
[date setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *d=[date dateFromString:theDate];
NSTimeInterval late=[d timeIntervalSince1970]*1;
NSDate* dat = [NSDate date];
NSTimeInterval now=[dat timeIntervalSince1970]*1;
NSString *timeString=@"";
NSTimeInterval cha=fabs(late-now);
if (cha/3600<1) {
timeString = [NSString stringWithFormat:@"%f", cha/60];
timeString = [timeString substringToIndex:timeString.length-7];
timeString=[NSString stringWithFormat:@"%@分", timeString];
}
if (cha/3600>1&&cha/86400<1) {
timeString = [NSString stringWithFormat:@"%f", cha/3600];
timeString = [timeString substringToIndex:timeString.length-7];
double x;
x=[timeString doubleValue];
double y;
y=cha-x*3600;
NSString *str1=[NSString stringWithFormat:@"%f", y/60];
str1 = [str1 substringToIndex:str1.length-7];
timeString=[NSString stringWithFormat:@"%@时%@分", timeString,str1];
}
if (cha/86400>1)
{
timeString = [NSString stringWithFormat:@"%f", cha/86400];
timeString = [timeString substringToIndex:timeString.length-7];
double x;
x=[timeString doubleValue];
double y;
y=cha-x*86400;
NSString *str1=[NSString stringWithFormat:@"%f", y/3600];
str1 = [str1 substringToIndex:str1.length-7];
double w;
w=[str1 doubleValue];
double e;
e=y-w*3600;
NSString *str2=[NSString stringWithFormat:@"%f", e/60];
str2 = [str2 substringToIndex:str2.length-7];
timeString=[NSString stringWithFormat:@"%@天%@时%@分", timeString,str1,str2];
}
return timeString;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: