Android獲取系統(tǒng)時(shí)間以及網(wǎng)絡(luò)時(shí)間
項(xiàng)目開發(fā)中,很多時(shí)候會用到android的時(shí)間,羅列一下獲取的時(shí)間的方式,和大家共同學(xué)習(xí)進(jìn)步
一、獲取系統(tǒng)時(shí)間
1.通過Calendar類來獲取系統(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.通過Time來獲取,android的文檔中說使用Time比Calendar對CPU的性能損耗更小,我卻不推薦使用Time,因?yàn)門ime使用必須在24小時(shí)制的系統(tǒng)中,如果用戶手機(jī)就設(shè)成12小時(shí)制的,這時(shí)就有誤差
Time times = new Time("GMT+8"); /*對于已經(jīng)設(shè)定為GMT時(shí)間標(biāo)準(zhǔn)的dateFormat來說, 一切需要他轉(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í)間,不過時(shí)間我都調(diào)成是12小時(shí)制的
當(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ò)時(shí)間
很多時(shí)候,由于手機(jī)的不確定性,導(dǎo)致各個(gè)手機(jī)的時(shí)間都不盡相同,如果開發(fā)中需要獲取統(tǒng)一的時(shí)間來匹配一些規(guī)則的時(shí)候,比如我之前公司就是通過或去當(dāng)前時(shí)間并且轉(zhuǎn)換之后來匹配網(wǎng)絡(luò)連接的規(guī)則,防止大批量的抓包,那么這個(gè)時(shí)候就需要一個(gè)統(tǒng)一的時(shí)間和后臺進(jìn)行匹配,這是簡單的使用獲取系統(tǒng)時(shí)間就可能存在問題,用戶手機(jī)如果調(diào)成自動獲取網(wǎng)絡(luò)時(shí)間的話沒問題,但是如果不是呢?所以獲取網(wǎng)絡(luò)時(shí)間就派上了用處
URL url = null;//取得資源對象 try { url = new URL("http://www.baidu.com"); URLConnection uc = url.openConnection();//生成連接對象 uc.connect(); //發(fā)出連接 ld = uc.getDate(); //取得網(wǎng)站日期時(shí)間 Logger.i(TAG,"ld---->>>>"+ld); } catch (Exception e) { e.printStackTrace(); }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android開發(fā)獲取當(dāng)前系統(tǒng)日期和時(shí)間功能示例
- Android動態(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信息框(長時(shí)間顯示而非系統(tǒng)關(guān)閉)
- Android實(shí)現(xiàn)顯示系統(tǒng)實(shí)時(shí)時(shí)間
相關(guān)文章
Android實(shí)現(xiàn)壓縮字符串的方法示例
最近在做Android開發(fā),遇到了需要壓縮字符串的功能,下面這篇文章主要給大家介紹了Android實(shí)現(xiàn)壓縮字符串的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08Android自定義Dialog實(shí)現(xiàn)通用圓角對話框
這篇文章主要為大家詳細(xì)介紹了Android自定義Dialog實(shí)現(xiàn)通用圓角對話框,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11Android自定義View實(shí)現(xiàn)數(shù)字雨效果的全過程
小時(shí)候看時(shí)印象最深的就是數(shù)字雨了,導(dǎo)致我現(xiàn)在寫代碼也要是黑屏,下面這篇文章主要給大家介紹了關(guān)于Android自定義View實(shí)現(xiàn)數(shù)字雨效果的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02Android自定義view實(shí)現(xiàn)側(cè)滑欄詳解
之前一直沒有寫側(cè)滑菜單的實(shí)現(xiàn)方法,今天計(jì)劃補(bǔ)上。手機(jī)開發(fā)中,往往存在很多功能沒處放的問題。我們可能會把功能放入一個(gè)菜單列表,但現(xiàn)在一種流行的做法是側(cè)滑菜單2022-11-11搭建mac使用Charles抓包安卓app環(huán)境配置過程
這篇文章主要為大家介紹了mac使用Charles抓包,安卓app環(huán)境搭建的配置過程步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-02-025步教你快速寫一個(gè)android Router路由框架
本篇文章主要介紹了5步教你快速寫一個(gè)Router路由框架(詳細(xì)步驟),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11Android新建水平節(jié)點(diǎn)進(jìn)度條示例
這篇文章主要為大家介紹了Android新建水平節(jié)點(diǎn)進(jìn)度條示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Android反編譯看看手Q口令紅包的實(shí)現(xiàn)原理
這篇文章主要介紹了Android反編譯看看手Q口令紅包的實(shí)現(xiàn)原理,需要的朋友可以參考下2016-02-02Android事件分發(fā)機(jī)制?ViewGroup分析
這篇文章主要介紹了Android事件分發(fā)機(jī)制?ViewGroup分析,事件分發(fā)從手指觸摸屏幕開始,即產(chǎn)生了觸摸信息,被底層系統(tǒng)捕獲后會傳遞給Android的輸入系統(tǒng)服務(wù)IMS,更多相關(guān)介紹,需要的朋友可以參考一下2022-09-09