0

我设法阅读了网络服务以获取任何给定城市的当前时间。我可以从 Web 服务中获得 2 个重要值,即当前时间(字符串)和偏移量。

问题是如何正确设置任何给定城市的时间?

选项1:

  • 读取机器/本地时间
  • 计算机器时间之外的 UTC/GMT 时间
  • 城市时间 = UTC 时间 +/- 偏移值
  • 但是当机器时间错误时会发生什么?你也会走错时间吧?

选项 2:

  • 读取字符串中的当前城市时间 (2012-11-24 19:30)
  • 解析此时间值并将其设置为日历
  • 我们得到了正确的城市时间
  • 但是下一分钟呢?当然,每分钟请求 Web 服务以获取当前时间不是一个好的解决方案,对吧?一旦我们设置它,是否可以保持这个 Calendar 实例每分钟自动运行?

注意:我在这里开发 Android 时钟小部件。

谢谢

4

1 回答 1

1

在我看来,选项1要好得多。大多数手机的时间都非常准确,因为时间同步是 GSM 和 CDMA 不可或缺的一部分。除此之外,我更喜欢离线工作的时钟而不是需要互联网连接。

如果您在面对不正确的系统时间时担心确保准确性,请考虑调用 Web 服务以获取当前时间以进行验证。

此验证可以在后台完成,但请记住,Web 服务不是最佳的时间同步提供程序。我会让任何相差不到 5 分钟的事情消失,因为这可能是由于您的服务器不同步或通话时间过长。

于 2012-11-25T02:30:03.007 回答