zoukankan      html  css  js  c++  java
  • 客户端同步服务器端时间方案

    /**
    * @描述 时间管理器,用来同步服务器上的时间,由于设备的时间通常不太准确
    * 记录方法:先请求服务器上的时间,记录下来,同时记录下当前的elapsedRealtime值,
    * 需要获取当前时间时,用最新的elapsedRealtime值减去之前记录的elapsedRealtime值,
    * 再加上之前记录的服务器时间即为最新的当前时间
    *
    * @作者 tll
    * @时间 2016/10/18
    */
    public class TimeManger {
    /**
    * 从服务端获取到的时间戳
    */
    private long currentTimeMillis;
    /**
    * 自开机后到当前设置时间的时间间隔
    */
    private long elapsedRealtime;

    /** 设置当前的时间戳*/
    public void setCurrentTimeMillis(long currentTimeMillis) {
    this.currentTimeMillis = currentTimeMillis;
    setElapsedRealtime(TimeUtil.elapsedRealtime());
    }

    public void setElapsedRealtime(long elapsedRealtime) {
    this.elapsedRealtime = elapsedRealtime;
    }

    /** 获取当前的时间戳*/
    public long getCurrentTimeMillis() {
    // 时间间隔
    long dis = TimeUtil.elapsedRealtime() - elapsedRealtime;
    // 用服务器上拿到的时间加上时间间隔即为当前的时间
    return currentTimeMillis + dis;
    }
    }

    TimeUtil.java
    /** 自开机后,经过的时间,包括深度睡眠的时间*/
    public static long elapsedRealtime()
    {
    return SystemClock.elapsedRealtime();
    }

    /** 自开机后,经过的时间,不包括深度睡眠的时间*/
    public static long uptimeMillis()
    {
    return SystemClock.uptimeMillis();
    }
     
  • 相关阅读:
    css3正方体效果
    单行文本溢出和多行文本溢出变省略号
    iscroll的滑动效果
    angular笔记
    html页面的css样式、meta最常用的最基本最常规的配置参数
    解决webstorm卡顿问题
    pc端网页的设计尺寸
    时间字符串解析成日期时间格式
    Inf2Cat, signability test failed.
    #pragma once 与 #ifndef 解析(转载)
  • 原文地址:https://www.cnblogs.com/baiyi168/p/5973326.html
Copyright © 2011-2022 走看看