在移动设备中获得准确日期和时间的最佳方式

时间:2015-11-05 13:46:48

标签: android date datetime gps ntp

我正在开发一个移动应用程序,用户可以提出商品和服务请求。在这里,我想获得准确的日期和时间。用户提交时的请求时间。我想知道哪些是从移动设备获取日期和时间的最佳方式:

  1. GPS
  2. NETWORK PROVIDER
  3. 设备时间和日期。
  4. 有一些情况需要避免。 - >如果用户设置了另一个日期和时间,而不是正确的日期和时间。 - >如果网络不可用怎么办。

    请知道,以便我可以开始研究这个。谢谢你。

4 个答案:

答案 0 :(得分:1)

网络提供商,以防网络可用 然后设备

答案 1 :(得分:0)

首先检查网络提供商,如果可用,请选择您手动设置的设备时间和日期。最后一个选项可能是GPS。

答案 2 :(得分:0)

您可以使用以下方式获取设备时间:

GregorianCalendar c = new GregorianCalendar();

然后使用GregorianCalendar方法获得所需的内容。

如果确实需要日期准确无误,那么获取设备日期可能不是最佳选择,因为如果用户更改了它可能不正确。

在这种情况下,您需要使用NTP服务器。如何执行此操作的描述为here

答案 3 :(得分:0)

从设备获取本地日期时间绰绰有余。 使用它可以轻松完成:

long currTime= System.currentTimeMillis();

如果您需要以用户可读的值显示此时间,请使用:

SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss.SSS");
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(currTime);
return formatter.format(cal.getTime());

我认为你的任务需要一个Web服务器,如果这个日期时间值必须是一个线索元素,那么服务器应该自己花时间,而不是依靠移动设备。