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

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
Y
Y Combinator Blog
IT之家
IT之家
博客园 - 聂微东
L
LangChain Blog
爱范儿
爱范儿
H
Help Net Security
GbyAI
GbyAI
F
Fortinet All Blogs
B
Blog
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
C
Check Point Blog
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
D
DataBreaches.Net
Last Week in AI
Last Week in AI
WordPress大学
WordPress大学
B
Blog RSS Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
宝玉的分享
宝玉的分享

博客园 - 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;
}