Android獲取系統(tǒng)時間以及網(wǎng)絡(luò)時間
項目開發(fā)中,很多時候會用到android的時間,羅列一下獲取的時間的方式,和大家共同學(xué)習(xí)進(jìn)步
一、獲取系統(tǒng)時間
1.通過Calendar類來獲取系統(tǒng)當(dāng)前的時間
Calendar calendar = Calendar.getInstance();
long unixTime = calendar.getTimeInMillis();//這是時間戳
Logger.i(TAG,"calendar--->>>"+"當(dāng)前時間為:" + 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) +
"秒");
打印結(jié)果如下:
calendar--->>>當(dāng)前時間為:2016年 6月 13日 14時 38分 58秒
2.通過Time來獲取,android的文檔中說使用Time比Calendar對CPU的性能損耗更小,我卻不推薦使用Time,因為Time使用必須在24小時制的系統(tǒng)中,如果用戶手機就設(shè)成12小時制的,這時就有誤差
Time times = new Time("GMT+8");
/*對于已經(jīng)設(shè)定為GMT時間標(biāo)準(zhǔn)的dateFormat來說,
一切需要他轉(zhuǎn)換的字符串日期都是GMT標(biāo)準(zhǔn)時間,
轉(zhuǎn)換后返回的Date由于默認(rèn)
*遵守系統(tǒng)默認(rèn)時區(qū),所以轉(zhuǎn)換給Date的日期需要+8
(例如北京標(biāo)準(zhǔn)時區(qū)),也就是時區(qū)與標(biāo)準(zhǔn)不同導(dǎo)致的時差。*/
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,"當(dāng)前時間為:" + year +
"年 " + month +
"月 " + day +
"日 " + hour +
"時 " + minute +
"分 " + sec +
"秒");
打印結(jié)果:當(dāng)前時間為:2016年 6月 13日 6時 38分 58秒
注意:這時的時間和上面使用時間是同一時間,不過時間我都調(diào)成是12小時制的
當(dāng)然,還有其他的獲取方式,不過結(jié)果基本都一樣
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());
二、獲取網(wǎng)絡(luò)時間
很多時候,由于手機的不確定性,導(dǎo)致各個手機的時間都不盡相同,如果開發(fā)中需要獲取統(tǒng)一的時間來匹配一些規(guī)則的時候,比如我之前公司就是通過或去當(dāng)前時間并且轉(zhuǎn)換之后來匹配網(wǎng)絡(luò)連接的規(guī)則,防止大批量的抓包,那么這個時候就需要一個統(tǒng)一的時間和后臺進(jìn)行匹配,這是簡單的使用獲取系統(tǒng)時間就可能存在問題,用戶手機如果調(diào)成自動獲取網(wǎng)絡(luò)時間的話沒問題,但是如果不是呢?所以獲取網(wǎng)絡(luò)時間就派上了用處
URL url = null;//取得資源對象
try {
url = new URL("http://www.baidu.com");
URLConnection uc = url.openConnection();//生成連接對象
uc.connect(); //發(fā)出連接
ld = uc.getDate(); //取得網(wǎng)站日期時間
Logger.i(TAG,"ld---->>>>"+ld);
} catch (Exception e) {
e.printStackTrace();
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android開發(fā)獲取當(dāng)前系統(tǒng)日期和時間功能示例
- Android動態(tài)顯示當(dāng)前年月日時分秒系統(tǒng)時間(示例代碼)
- Android 用Time和Calendar獲取系統(tǒng)當(dāng)前時間源碼分享(年月日時分秒周幾)
- Android獲取系統(tǒng)時間的多種方法
- Android調(diào)用系統(tǒng)時間格式顯示時間信息
- 解析android中系統(tǒng)日期時間的獲取
- Android開發(fā)技巧之永不關(guān)閉的Toast信息框(長時間顯示而非系統(tǒng)關(guān)閉)
- Android實現(xiàn)顯示系統(tǒng)實時時間
相關(guān)文章
Android自定義Dialog實現(xiàn)通用圓角對話框
這篇文章主要為大家詳細(xì)介紹了Android自定義Dialog實現(xiàn)通用圓角對話框,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-11-11
Android自定義View實現(xiàn)數(shù)字雨效果的全過程
小時候看時印象最深的就是數(shù)字雨了,導(dǎo)致我現(xiàn)在寫代碼也要是黑屏,下面這篇文章主要給大家介紹了關(guān)于Android自定義View實現(xiàn)數(shù)字雨效果的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02
Android自定義view實現(xiàn)側(cè)滑欄詳解
之前一直沒有寫側(cè)滑菜單的實現(xiàn)方法,今天計劃補上。手機開發(fā)中,往往存在很多功能沒處放的問題。我們可能會把功能放入一個菜單列表,但現(xiàn)在一種流行的做法是側(cè)滑菜單2022-11-11
搭建mac使用Charles抓包安卓app環(huán)境配置過程
這篇文章主要為大家介紹了mac使用Charles抓包,安卓app環(huán)境搭建的配置過程步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-02-02

