Android獲取系統(tǒng)時(shí)間以及網(wǎng)絡(luò)時(shí)間
項(xiàng)目開發(fā)中,很多時(shí)候會(huì)用到android的時(shí)間,羅列一下獲取的時(shí)間的方式,和大家共同學(xué)習(xí)進(jìn)步
一、獲取系統(tǒng)時(shí)間
1.通過(guò)Calendar類來(lái)獲取系統(tǒng)當(dāng)前的時(shí)間
Calendar calendar = Calendar.getInstance();
long unixTime = calendar.getTimeInMillis();//這是時(shí)間戳
Logger.i(TAG,"calendar--->>>"+"當(dāng)前時(shí)間為:" + calendar.get(Calendar.YEAR) +
"年 " + calendar.get(Calendar.MONTH) +
"月 " + calendar.get(Calendar.DAY_OF_MONTH) +
"日 " + calendar.get(Calendar.HOUR_OF_DAY) +
"時(shí) " + calendar.get(Calendar.MINUTE) +
"分 " + calendar.get(Calendar.SECOND) +
"秒");
打印結(jié)果如下:
calendar--->>>當(dāng)前時(shí)間為:2016年 6月 13日 14時(shí) 38分 58秒
2.通過(guò)Time來(lái)獲取,android的文檔中說(shuō)使用Time比Calendar對(duì)CPU的性能損耗更小,我卻不推薦使用Time,因?yàn)門ime使用必須在24小時(shí)制的系統(tǒng)中,如果用戶手機(jī)就設(shè)成12小時(shí)制的,這時(shí)就有誤差
Time times = new Time("GMT+8");
/*對(duì)于已經(jīng)設(shè)定為GMT時(shí)間標(biāo)準(zhǔn)的dateFormat來(lái)說(shuō),
一切需要他轉(zhuǎn)換的字符串日期都是GMT標(biāo)準(zhǔn)時(shí)間,
轉(zhuǎn)換后返回的Date由于默認(rèn)
*遵守系統(tǒng)默認(rèn)時(shí)區(qū),所以轉(zhuǎn)換給Date的日期需要+8
(例如北京標(biāo)準(zhǔn)時(shí)區(qū)),也就是時(shí)區(qū)與標(biāo)準(zhǔn)不同導(dǎo)致的時(shí)差。*/
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)前時(shí)間為:" + year +
"年 " + month +
"月 " + day +
"日 " + hour +
"時(shí) " + minute +
"分 " + sec +
"秒");
打印結(jié)果:當(dāng)前時(shí)間為:2016年 6月 13日 6時(shí) 38分 58秒
注意:這時(shí)的時(shí)間和上面使用時(shí)間是同一時(shí)間,不過(guò)時(shí)間我都調(diào)成是12小時(shí)制的
當(dāng)然,還有其他的獲取方式,不過(guò)結(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ò)時(shí)間
很多時(shí)候,由于手機(jī)的不確定性,導(dǎo)致各個(gè)手機(jī)的時(shí)間都不盡相同,如果開發(fā)中需要獲取統(tǒng)一的時(shí)間來(lái)匹配一些規(guī)則的時(shí)候,比如我之前公司就是通過(guò)或去當(dāng)前時(shí)間并且轉(zhuǎn)換之后來(lái)匹配網(wǎng)絡(luò)連接的規(guī)則,防止大批量的抓包,那么這個(gè)時(shí)候就需要一個(gè)統(tǒng)一的時(shí)間和后臺(tái)進(jìn)行匹配,這是簡(jiǎn)單的使用獲取系統(tǒng)時(shí)間就可能存在問(wèn)題,用戶手機(jī)如果調(diào)成自動(dòng)獲取網(wǎng)絡(luò)時(shí)間的話沒問(wèn)題,但是如果不是呢?所以獲取網(wǎng)絡(luò)時(shí)間就派上了用處
URL url = null;//取得資源對(duì)象
try {
url = new URL("http://www.baidu.com");
URLConnection uc = url.openConnection();//生成連接對(duì)象
uc.connect(); //發(fā)出連接
ld = uc.getDate(); //取得網(wǎng)站日期時(shí)間
Logger.i(TAG,"ld---->>>>"+ld);
} catch (Exception e) {
e.printStackTrace();
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android開發(fā)獲取當(dāng)前系統(tǒng)日期和時(shí)間功能示例
- Android動(dòng)態(tài)顯示當(dāng)前年月日時(shí)分秒系統(tǒng)時(shí)間(示例代碼)
- Android 用Time和Calendar獲取系統(tǒng)當(dāng)前時(shí)間源碼分享(年月日時(shí)分秒周幾)
- Android獲取系統(tǒng)時(shí)間的多種方法
- Android調(diào)用系統(tǒng)時(shí)間格式顯示時(shí)間信息
- 解析android中系統(tǒng)日期時(shí)間的獲取
- Android開發(fā)技巧之永不關(guān)閉的Toast信息框(長(zhǎng)時(shí)間顯示而非系統(tǒng)關(guān)閉)
- Android實(shí)現(xiàn)顯示系統(tǒng)實(shí)時(shí)時(shí)間
相關(guān)文章
android自定義控件創(chuàng)建翻頁(yè)接口詳細(xì)代碼
這篇文章主要為大家介紹了android自定義控件創(chuàng)建翻頁(yè)接口詳細(xì)代碼,具有一定的實(shí)用性,感興趣的小伙伴們可以參考一下2016-07-07
解決Android Studio 代碼自動(dòng)提示突然失效的問(wèn)題
這篇文章主要介紹了解決Android Studio 代碼自動(dòng)提示突然失效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03
輕松實(shí)現(xiàn)Android語(yǔ)音識(shí)別功能
這篇文章主要為初學(xué)者介紹了輕松實(shí)現(xiàn)Android語(yǔ)音識(shí)別功能的代碼,感興趣的小伙伴們可以參考一下2016-07-07
Android實(shí)現(xiàn)讀取相機(jī)(相冊(cè))圖片并進(jìn)行剪裁
在 Android應(yīng)用中,很多時(shí)候我們需要實(shí)現(xiàn)上傳圖片,或者直接調(diào)用手機(jī)上的拍照功能拍照處理然后直接顯示并上傳功能,下面將講述調(diào)用相機(jī)拍照處理圖片然后顯示和調(diào)用手機(jī)相冊(cè)中的圖片處理然后顯示的功能2015-08-08

