我正在创建一个Android应用程序,我在其中显示服务器发送的一些推文。我对如何使用每条推文显示时间戳感到困惑(就像我想在“1小时前”显示 - 时间已过)。我会列出我的选择:
我从服务器获取GMT时间戳,我处理它并在用户的时区获取时间戳,然后将其与系统当前时间戳进行比较并显示它们的区别。 (问题:我不能依赖设备时间,因为它不准确。它可能早于服务器时间戳,所以他们的比较会给我否定答案。)
服务器可以发送我从该推文的起源经过的秒数,我可以在android端处理并显示。 (问题:如果我将此数据缓存并在以后的离线模式下显示给用户,则此时间戳将保持不变。)
哪种方法可以解决这个问题?另外,其他大公司如何管理这个?
答案 0 :(得分:0)
将 UTC时区用于所有内容,就在向用户显示时,将其格式化为他的时区。当用户输入日期时,请将其作为UTC格式的DateTime写入您的服务器。
如果您不能依赖用户DateTime,则无论如何都必须依赖您的服务器。