惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
腾讯CDC
博客园 - 聂微东
爱范儿
爱范儿
罗磊的独立博客
P
Proofpoint News Feed
博客园 - Franky
博客园 - 三生石上(FineUI控件)
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
Jina AI
Jina AI
Blog — PlanetScale
Blog — PlanetScale
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 司徒正美
美团技术团队
MongoDB | Blog
MongoDB | Blog
WordPress大学
WordPress大学
A
About on SuperTechFans
I
InfoQ
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Help Net Security
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog

博客园 - Jokeyyu

联想扬天V340笔记本进入BIOS Android 11 wifiInfo.getSSID 获取不到WiFi名称 git 打补丁用.diff文件不能成功 打包的时候报错 app:lintVitalRelease ,不能下载kotlin-compiler-27.0.1.jar tag mismatch 注册了上下文菜单的列表长按没有效果 recycleview 支持context menu android studio 不能安装调试并没有提示哪里异常 mysql 将一个字段的值复制到另一个字段 新单词 part 20 git 打patch 流程 新单词 part 19 新单词 part 18 retrofit 同时上传文件和参数 数据结构笔记 reclyceview 实现自由拖动排序 Android material-design-icons 图标资源 好用的 pdf 加载工具 wifi 开发指南 viewbinding 和 include 标签同时使用时注意事项
currentTimeMillis获取时间异常,基于服务器获取当前世界真实...
Jokeyyu · 2025-02-18 · via 博客园 - Jokeyyu

1,登录时从服务器上获取当前基础时间及当前开机时间,保存用于后续时间计算

public void onTimeLoaded(String curTime) {
mServerTime = curTime;
TMLUtils.getSpUtils().put(TMLConst.PREF_KEY_BASE_SERVER_TIME, mServerTime);
TMLUtils.getSpUtils().put(TMLConst.PREF_KEY_BASE_ELAPSED_TIME, SystemClock.elapsedRealtime());
}

2.根据前面两个保存的基础时间,通过当前开机时间与前面的开机时间比较可得出时间间隔,再通过前面已保存的服务器时间加上时间间隔即可得出当前世界真实时间

public static long getCurTimeMs() {
String baseServerTime = getSpUtils().getString(TMLConst.PREF_KEY_BASE_SERVER_TIME);
long duration = SystemClock.elapsedRealtime() - getSpUtils().getLong(TMLConst.PREF_KEY_BASE_ELAPSED_TIME);
return getTimeMs(baseServerTime, "yyyy-MM-dd HH:mm:ss") + duration;
}