手环与app同步数据时区问题
1. 情景1:手环根据手机显示时间,无时区字段
-
- 以印度时区和北京时区为例:
地区 | 时区 | 各地当前时间 |
---|---|---|
印度 | 东五区 | 2018.05.08 09:12 |
中国 | 东8区 | 2018.05.08 11:42 |
从北京到印度首都新德里坐飞机大概 8 个小时,若一个戴着运动手环(运动手环显示的时间为手机时间),手机的时间为北京时区 东八区9点,坐飞机的过程中手环进入睡眠,手环开始产生睡眠数据,直到东八区17点的时候到了印度,睡眠结束,假设产生了100条睡眠数据,时间是东八区9点到东八区17点的,同步上传到服务器。
后来用户到了印度,手机设置了印度的时区,东八区的17点,在印度会显示14:30,同步手环的时候手环时间会被设置为14.30。
那么手环里面记录的是17点的数据,对没有时区概念的手环来说17点是未来的时间。
【手环与app同步数据时区问题】用户是运动手环再次进入睡眠,等到印度时区东5区的17点的时候 退出睡眠,那么产生的睡眠数据传数据以印度时区上传到服务器,
为了解决这个时区的问题,在APP显示数据以手机上面的时间为主,注意手机时区的时间与本地时间的转换。例如:本地数据库保存的是东八区的8点,当手机时区切换为印度时区的时候,展示数据的时候必须把本地数据库的时间转为印度时区的时间,显示到界面。
2. 说明:
说明:全球的时间戳一致,不同时区地方的时间戳是一样的。所以如果本地数据保存的数据是时间戳,根据手机的时区时间,把时间戳转换为手机时间,展示数据列表,服务器保存的是日期,以及时区,若服务器时区与手机时区不一致,则需要转换为本地时区,使数据一致
备注:
-
- markdown 表格的写法
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 宽容谁
- Docker应用:容器间通信与Mariadb数据库主从复制
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 讲述,美丽聪明的海欧!
- 夜游宫|夜游宫 心语
- 画画吗()
- 第326天
- Shell-Bash变量与运算符
- 图书集合完毕