源代码固定设备的日期和时间

时间:2015-02-13 04:15:24

标签: android date time

如何获取正确的日期和时间我的应用程序,当错误的Android设备日期和时间。需要来源。 请帮我。 谢谢你们!

2 个答案:

答案 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