ios 使用本地时间校验

在开发的过程中,我们经常会使用的系统时间,但是手机的系统时间用户可以自行改变,在这个基础上获取到的时间就不准确了。

那么这个时候我们可以通过获取服务器的时间来校准本地时间。

在应用启动的时候获取服务器当前的时间+在加上该时间段内应用的运行时间。

获取服务器的时间保存,并记录该进程当前的运行时间

-(void)setOriginTime:(NSTimeInterval)servertime {

    _originServerTime = servertime;
   
    NSDate *serverDate = [NSDate dateWithTimeIntervalSince1970:(_originServerTime)/1000];
    NSLog(@"srever_ %@",serverDate);

    _originStartTime = [[NSProcessInfo processInfo]systemUptime] * 1000;
    NSLog(@"_________originTime   %f, %f",_originServerTime, _originStartTime);
}

每次需要用到的时间的时候:

用之前获取到的服务器时间+当前进程的运行时间

-(long long)serverDate{

    NSTimeInterval outtime = [[NSProcessInfo processInfo]systemUptime] * 1000 -_originStartTime;

    NSDate *serverDate = [NSDate dateWithTimeIntervalSince1970:(_originServerTime + outtime)/1000];

    NSLog(@"srever_ %@",serverDate);


    long long time = [serverDate timeIntervalSince1970] * 1000;

    NSLog(@"srever_time %lld",time);

    return time;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容