如何获取正确的日期和时间我的应用程序,当错误的Android设备日期和时间。需要来源。 请帮我。 谢谢你们!
答案 0 :(得分:0)
first you try to get the current time zone and then you get date and time of current time zone
Calendar cal = Calendar.getInstance();
TimeZone tz = cal.getTimeZone();
Log.d("Time zone","="+tz.getDisplayName());
public String getTime(String timezone) {
Calendar c = Calendar.getInstance();
c.setTimeZone(TimeZone.getTimeZone(timezone));
Date date = c.getTime();
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
String strDate = df.format(date);
return c.getTime().toString();
}
答案 1 :(得分:0)
您可能需要使用自定义NITZ或NTP库
http://groups.google.com/group/android-developers/browse_thread/thread/d5ce3bcfe17e272b?pli=1
因此,Android使用运营商提供的NITZ事件来正确设置系统日期和时间。当没有蜂窝网络可用时,Android也会自动回退到网络NTP。
http://en.wikipedia.org/wiki/NITZ
currentTimeMillis()提供的时间通常是最佳可用时间,它是设备上所有服务的使用时间,例如日历和闹钟。
然而
然而,NTP API不是Java代码可以访问的地方,这意味着如果我们想要一个准确的时间,我们又回到使用现有的Java NTP / SNTP客户端库,无论我们是否在NITZ的网络上能。
Java NTP库
您可以从
中找到Java NTP库的简单实现support.ntp.org