当前位置:   article > 正文

Android 通过NTP服务器自动获取时间的方法_android ntp service

android ntp service

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

对于手机,如果有SIM卡支持的话,在设置时间时可以通过选择自动从网络获取时间来取得当地的时间和时区:

但如果手机没有SIM卡,此时如果有Wifi链接,手机依然可以通过网络自动获取时间(时区此时需要手动设置)。 查看Android源码,在android.net 中有 SntpClient类,可以通过访问NTP服务器来取得当前的GMT时间。pool.ntp.org为最常用的一个NTF服务器。修改SntpClient代码,你也可以在自己的应用(包括非Android应用)中通过NTP服务器来取得当前GMT时间,代码如下:

import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.util.Date; public class GetTime {     public static void main(String[] args) {        SntpClient client = new SntpClient();        if (client.requestTime("pool.ntp.org", 30000)) {            long now = client.getNtpTime() + System.nanoTime() / 1000                    - client.getNtpTimeReference();            Date current = new Date(now);            System.out.println(current.toString());        }     }} class SntpClient {     private static final int ORIGINATE_TIME_OFFSET = 24;    private static final int RECEIVE_TIME_OFFSET = 32;    private static final int TRANSMIT_TIME_OFFSET = 40;    private static final int NTP_PACKET_SIZE = 48;     private static final int NTP_PORT = 123;    private static 
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/808178
推荐阅读
相关标签
  

闽ICP备14008679号