iOS计算时间差

来源:互联网 发布:如何看待马蓉 知乎 编辑:程序博客网 时间:2024/05/02 06:11

- (void)viewDidLoad {

    [superviewDidLoad];

       //格式必须是这种才能算出来如果后台返回的不带中间的部分要自己插入才能算

    NSLog(@"现在时间:%@",[selfintervalSinceNow:@"2016-04-22 11:40:47"]);

}

- (NSString *)intervalSinceNow:(NSString *) theDate

{

    NSArray *timeArray=[theDatecomponentsSeparatedByString:@"."];

    theDate=[timeArray objectAtIndex:0];

    

    NSDateFormatter *date=[[NSDateFormatteralloc]init];

    [date setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//可以设置不同的格式,只算年月日也行

    NSDate *d=[datedateFromString:theDate];

    

    NSTimeInterval late=[dtimeIntervalSince1970]*1;

    NSDate* dat = [NSDatedate];

    NSTimeInterval now=[dattimeIntervalSince1970]*1;

    NSString *timeString=@"";

    NSTimeInterval cha=late-now;

        if (cha/3600<1) {

        timeString = [NSStringstringWithFormat:@"%f", cha/60];

        timeString = [timeString substringToIndex:timeString.length-7];

        timeString=[NSStringstringWithFormat:@"剩余%@", timeString];

    }

    if (cha/3600>1&&cha/86400<1) {

        timeString = [NSStringstringWithFormat:@"%f", cha/3600];

        timeString = [timeString substringToIndex:timeString.length-7];

        timeString=[NSStringstringWithFormat:@"剩余%@小时", timeString];

    }

    if (cha/86400>1)

    {

        timeString = [NSStringstringWithFormat:@"%f", cha/86400];

        timeString = [timeString substringToIndex:timeString.length-7];

        timeString=[NSStringstringWithFormat:@"剩余%@", timeString];

    }

    如果要返回秒的话,直接return cha;  默认的返回的是,分钟 小时 天。

    NSLog(@"时间差(秒):%lf",cha);

    return timeString;

}


0 0