2017-09-23 142 views
-2

我正在开发一个android应用程序,在我需要从手机获取日期时间的某些功能中,但假设用户可能会更改他们的手机日期时间,这种情况下我的应用程序会显示错误的结果我使用时间戳作为我日期时间btw的数据类型,所以如何确保从手机获取最准确的日期时间,而不必关心用户修改手机日期时间。从Android手机获取日期时间的最佳做法

Calendar dateTime=Calendar.getInstance(); long milliseconds=dateTime.getTimeInMillis();

正如你看到的上面的代码是从手机本身获取日期时间,这意味着它可能不准确的,由于用户修改其日期时间在手机中。任何人都可以向我推荐一个解决方案或想法,关于如何做到这一点是正确的方法。 Thx and 对不起,我的破碎英文

日历:它基于设备时间设置/时区。从文档引用:“日历的getInstance方法返回一个日历,其区域设置基于系统设置,其时间字段已用当前日期和时间初始化”

但对于我的问题是如果用户更改时间设置? ?

+0

的[获取Android上的当前时间和日期]可能的复制(https://stackoverflow.com/questions/5369682/get-current-time-and-date -on-android) – RonTLV

+1

你需要从外部Web服务查询时间,但是如果用户将他们的手机设置为错误的日期和时间,他们可能需要接受他们依赖手机时间的应用程序赢得' t正常工作。 – JJJ

+0

你有什么可以分享我的链接或文档吗?我真的不知道如何实现一个Web服务应用程序获得准确的时间没有用户的干扰 –

回答

-1
Date d = new Date(); 
DateFormat date = new SimpleDateFormat("dd MMM yy - HH:mm"); 
Log.i("Date",date.format(d)); 

编辑:

发送请求的地方,并读取日从中 请求:

HEAD/HTTP/1.1 
Host: google.com 

响应:

HTTP/1.1 301 Moved Permanently 
Location: http://www.google.com/ 
Content-Type: text/html; charset=UTF-8 
Date: Wed, 09 Mar 2011 16:04:48 GMT 
Expires: Fri, 08 Apr 2011 16:04:48 GMT 
Cache-Control: public, max-age=2592000 
Server: gws 
Content-Length: 219 
X-XSS-Protection: 1; mode=block 

再次编辑: 使用此代码的请求,并得到日

URL obj = new URL("http://mkyong.com"); 
URLConnection conn = obj.openConnection(); 
String date = conn.getHeaderField("date"); 
+2

这个日期是从手机本身检索的权利?但是关于我的是用户可能会改变日期时间然后会导致日期时间不准确 –

+0

这对我来说看起来很复杂,我需要一些时间来消化这个 –

+0

好吧,这个对我来说比较熟悉,我会试试这个,谢谢 –