美文网首页
判断服务器返回时间和本地时间的大小

判断服务器返回时间和本地时间的大小

作者: 我的马里奥兄弟 | 来源:发表于2016-11-20 17:17 被阅读18次

    实现逻辑:两个时间差相差超出5分钟,返回NO;反之,返回YES

    注意点:

          1.通过[NSDate date]获取的时间是格林尼治时间,所以还需要换算成本地时间

          2.通过某种格式的字符串获取得到的Date也是格林尼治标准

    代码如下:

    - (BOOL)compareLocalTimeWithStartTimeToData:(NSDictionary *)data{

    NSDate *date = [NSDate date];

    NSLog(@"NSDate:%@",date);

    NSTimeInterval time = [[NSTimeZone systemTimeZone] secondsFromGMTForDate:date];// 以秒为单位返回当前时间与系统格林尼治时间的差

    NSDate *dateNow = [date dateByAddingTimeInterval:time];// 然后把差的时间加上,就是当前系统准确的时间

    NSLog(@"Now_time:%@",dateNow);

    NSDate *startT = [NSDate dateFromString:data[@"StartTime"] format:@"yyyy-MM-dd HH:mm:ss"];

    NSDate *startT_repaired = [startT dateByAddingTimeInterval:time];

    NSLog(@"\n\n\n  Start_time:%@\n  StartT_repaired:%@\n\n",startT,startT_repaired);

    NSTimeInterval interval = [dateNow timeIntervalSinceDate:startT_repaired];

    NSLog(@"%f",interval);

    if (interval<=300) {

    return YES;

    }else return NO;

    }

    相关文章

      网友评论

          本文标题:判断服务器返回时间和本地时间的大小

          本文链接:https://www.haomeiwen.com/subject/vprypttx.html