以编程方式如何在android中获取实际时间如果我改变了设备时间

时间:2014-03-31 10:18:56

标签: android

任何人都可以通过programmaticaly给我这个问题的确切解决方案,即当我改变设备时间时它会花费设备时间,但我希望它需要从互联网上获取实际时间。 我正在使用此代码...

  SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
        String date = dateFormat.format(new Date(System.currentTimeMillis()));

我也尝试了这个

final Calendar c = Calendar.getInstance();
    year = c.get(Calendar.YEAR);
    month = c.get(Calendar.MONTH);
    day = c.get(Calendar.DAY_OF_MONTH);
    hour = c.get(Calendar.HOUR_OF_DAY);
    minute = c.get(Calendar.MINUTE);

    int myfrmt =(c.get(Calendar.YEAR) + c.get(Calendar.MONTH) + c.get(Calendar.DAY_OF_MONTH) + c.get(Calendar.HOUR_OF_DAY)+ c.get(Calendar.MINUTE));
    String satyam=Integer.toString(myfrmt);`

但在这两种情况下我都有设备时间....不是实时

3 个答案:

答案 0 :(得分:3)

你试过这个:

LocationManager locMan = (LocationManager) activity.getSystemService(activity.LOCATION_SERVICE);
long time = locMan.getLastKnownLocation(LocationManager.NETWORK_PROVIDER).getTime();

这将通过您的网络提供商提供时间。

答案 1 :(得分:1)

我建议对

进行简单的AJAX调用

http://www.timeapi.org/utc/now

一种便捷的网络服务,可返回您可以操作的当前GMT时间。

答案 2 :(得分:0)

看看this。该帖子有多个答案,值得一试。我会推荐"更正"尽管你必须为此包含一个库,但应该回答。如果您使用第一个答案,请注意有关服务器选择的评论。

希望它有所帮助。