文章目录
System.currentTimeMillis()获取的是系统的时间
SystemClock.uptimeMillis()
表示系统开机到当前的时间总数,单位是毫秒,但是,当系统进入深度睡眠(CPU休眠、屏幕休眠、设备等待外部输入)时间就会停止,但是不会受到时钟缩放、空闲或者其他节能机制的影响。
注意:Android设备连着adb线到其他设备的情况下,设备是不会进入休眠模式的。
SystemClock.elapsedRealtime()
表示系统开机到当前的时间总数。它包括了系统深度睡眠的时间。这个时钟是单调的,它保证一直计时,即使CPU处于省电模式,所以它是推荐使用的时间计时器
SystemClock.elapsedRealtimeNanos()
同 SystemClock.elapsedRealtime() 只不过返回的是纳秒
获取网络时间
public static void getNetworkTime(){
String webUrl1 = "http://www.bjtime.cn";// bjTime
String webUrl2 = "http://www.baidu.com";// 百度
String webUrl3 = "http://www.taobao.com";// 淘宝
String webUrl4 = "http://www.ntsc.ac.cn";// 中国科学院国家授时中心
String webUrl5 = "http://www.360.cn";// 360
String webUrl6 = "http://www.beijing-time.org";// beijing-time
String webUrl7 = "http://www.163.com/";// 网易
String webUrl8 = "https://www.tmall.com/";// 天猫
try {
URL url = new URL(webUrl2);
URLConnection conn = url.openConnection(); //生成连接对象
conn.connect(); // 连接
long dateL = conn.getDate(); // 获取网站时间
System.out.println(dateL);
// Date date = new Date(dateL);
// SimpleDateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
} catch (Exception e) {
e.printStackTrace();
}
}
官方文档:SystemLock