Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android獲取系統時間以及網絡時間

Android獲取系統時間以及網絡時間

編輯:關於Android編程

項目開發中,很多時候會用到android的時間,羅列一下獲取的時間的方式,和大家共同學習進步
一、獲取系統時間 
1.通過Calendar類來獲取系統當前的時間

 Calendar calendar = Calendar.getInstance();
long unixTime = calendar.getTimeInMillis();//這是時間戳

Logger.i(TAG,"calendar--->>>"+"當前時間為:" + calendar.get(Calendar.YEAR) +
    "年 " + calendar.get(Calendar.MONTH) +
    "月 " + calendar.get(Calendar.DAY_OF_MONTH) +
    "日 " + calendar.get(Calendar.HOUR_OF_DAY) +
    "時 " + calendar.get(Calendar.MINUTE) +
    "分 " + calendar.get(Calendar.SECOND) +
    "秒");

 打印結果如下:

 calendar--->>>當前時間為:2016年 6月 13日 14時 38分 58秒 

2.通過Time來獲取,android的文檔中說使用Time比Calendar對CPU的性能損耗更小,我卻不推薦使用Time,因為Time使用必須在24小時制的系統中,如果用戶手機就設成12小時制的,這時就有誤差

 Time times = new Time("GMT+8");
/*對於已經設定為GMT時間標准的dateFormat來說,

一切需要他轉換的字符串日期都是GMT標准時間,

轉換後返回的Date由於默認
 *遵守系統默認時區,所以轉換給Date的日期需要+8

(例如北京標准時區),也就是時區與標准不同導致的時差。*/

times.setToNow();
int year = times.year;
int month = times.month;
int day = times.monthDay;
int minute = times.minute;
int hour = times.hour;
int sec = times.second;
Logger.i(TAG,"當前時間為:" + year +
    "年 " + month +
    "月 " + day +
    "日 " + hour +
    "時 " + minute +
    "分 " + sec +
    "秒");

打印結果:當前時間為:2016年 6月 13日 6時 38分 58秒

注意:這時的時間和上面使用時間是同一時間,不過時間我都調成是12小時制的
當然,還有其他的獲取方式,不過結果基本都一樣   

    import  java.text.SimpleDateFormat;   
    SimpleDateFormat  formatter  =  new  SimpleDateFormat  ("yyyy年MM月dd日  HH:mm:ss");  
    Date curDate = new Date(System.currentTimeMillis()); 
 
    String  str  =  formatter.format(curDate); 

還有         

DateFormat df = new SimpleDateFormat("HH:mm:ss"); 
      df.format(new Date());

二、獲取網絡時間
 很多時候,由於手機的不確定性,導致各個手機的時間都不盡相同,如果開發中需要獲取統一的時間來匹配一些規則的時候,比如我之前公司就是通過或去當前時間並且轉換之後來匹配網絡連接的規則,防止大批量的抓包,那麼這個時候就需要一個統一的時間和後台進行匹配,這是簡單的使用獲取系統時間就可能存在問題,用戶手機如果調成自動獲取網絡時間的話沒問題,但是如果不是呢?所以獲取網絡時間就派上了用處 

URL url = null;//取得資源對象
try {
  url = new URL("http://www.baidu.com");
  URLConnection uc = url.openConnection();//生成連接對象
  uc.connect(); //發出連接
  ld = uc.getDate(); //取得網站日期時間
  Logger.i(TAG,"ld---->>>>"+ld);
} catch (Exception e) {
  e.printStackTrace();
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved