在安卓应用程序中显示时间戳的更好做法



我正在创建一个Android应用程序,其中我显示了服务器发送的一些推文。我对如何在每条推文中显示时间戳感到困惑(就像我想显示"1 小时前" - 经过的时间)。我将列出我的选项:

  1. 我从服务器获取GMT时间戳,对其进行处理并获取用户时区的时间戳,然后将其与系统当前时间戳进行比较并显示它们的差异。(问题:我不能依赖设备时间,因为它不准确。它可以早于服务器时间戳,所以他们的比较会给我否定的答案。

  2. 服务器可以向我发送从该推文的源头经过的几秒钟,我可以在安卓端处理并显示。(问题:如果我缓存此数据并稍后在脱机模式下向用户显示,则此时间戳将保持不变。

哪种方法最好?另外,其他大公司如何管理这一点?

对所有内容都使用 UTC 时区,只是在向用户显示时,将其格式化为他的时区。当用户输入日期时,将其作为 UTC 格式的日期时间写入服务器。

如果您不能依赖用户 DateTime,则在任何情况下都必须依赖您的服务器。

最新更新