Android處理時(shí)間各種方法匯總
本文實(shí)例為大家分享了Android處理時(shí)間的各種方法,供大家參考,具體內(nèi)容如下
/** * 獲取當(dāng)前時(shí)間 * * @return 當(dāng)前時(shí)間 */ public static String getdate() { SimpleDateFormat formatter = new SimpleDateFormat("HH:mm"); Date curDate = new Date(System.currentTimeMillis());// 獲取當(dāng)前時(shí)間 String time = formatter.format(curDate); return time; } /** * 獲取當(dāng)前秒數(shù) * @return */ public static String getSecond(){ Calendar calendar = Calendar.getInstance(); int sec = calendar.get(Calendar.SECOND); String value = String.valueOf(sec<10?"0"+sec:sec); return value; } /** * 獲取當(dāng)天日期 * * @return 當(dāng)前時(shí)間 */ public static String getriqi() { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); Date curDate = new Date(System.currentTimeMillis());// 獲取當(dāng)天日期 String time = formatter.format(curDate); return time; } /** * 獲取當(dāng)前全部時(shí)間 * * @return 當(dāng)前時(shí)間 */ public static String getalldate() { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date curDate = new Date(System.currentTimeMillis());// 獲取當(dāng)前時(shí)間 String time = formatter.format(curDate); return time; } public static Date getDate(String time){ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = null; try { date = formatter.parse(time); } catch (ParseException e) { e.printStackTrace(); } return date; } /** * 天數(shù)減一 */ public static String Yesterday(int data) { SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM-dd"); Date beginDate = new Date(); Calendar date = Calendar.getInstance(); date.setTime(beginDate); date.set(Calendar.DATE, date.get(Calendar.DATE) - data); // Date endDate = dft.parse(dft.format(date.getTime())); String time = dft.format(date.getTime()); return time; } /** * 獲取星期 * * @param date日期 * ****-**-** * @return */ public static int getDay(Date date) { Calendar cal = Calendar.getInstance(); cal.setTime(date); return cal.get(Calendar.DAY_OF_WEEK); } /** * 時(shí)間順序判斷 * @param data_ruke * @param data_choice * @return */ public static boolean conpare_data(String data1,String data2){ if(data1==null||"".equals(data1)){ return true; } DateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try{ Date dt1 = dFormat.parse(data1); Date dt2 = dFormat.parse(data2); if(dt1.getTime()>dt2.getTime()){ Log.i("time_compare", "dt1在dt2之后"); return false; }else if (dt1.getTime() < dt2.getTime()) { Log.i("time_compare", "dt1在dt2之前"); return true; } }catch(Exception e){ e.printStackTrace(); } return false; } /** * 日期比較 */ public static int compare_date(String DATE1, String DATE2) { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); try { Date dt1 = df.parse(DATE1); Date dt2 = df.parse(DATE2); if (dt1.getTime() > dt2.getTime()) { if (dt1.getTime() - dt2.getTime() == 86400000) { return 1; } else if (dt1.getTime() - dt2.getTime() == (86400000 * 2)) { return 2; } else if (dt1.getTime() - dt2.getTime() == (86400000 * 3)) { return 3; } else { return 0; } } else { return 0; } } catch (Exception exception) { exception.printStackTrace(); return 0; } } /** * 返回兩個(gè)string類型日期之間相差的天數(shù) */ public static int daysBetween(String smdate,String bdate){ SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Calendar cal = Calendar.getInstance(); long time1 = 0; long time2 = 0; try{ cal.setTime(sdf.parse(smdate)); time1 = cal.getTimeInMillis(); cal.setTime(sdf.parse(bdate)); time2 = cal.getTimeInMillis(); }catch(Exception e){ e.printStackTrace(); } long between_days=(time2-time1)/(1000*3600*24); return Integer.parseInt(String.valueOf(between_days)); } /** * 返回兩個(gè)string類型日期相差的小時(shí)數(shù) */ public static int daysBetween2(String startTime, String endTime) { SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH"); Calendar cal = Calendar.getInstance(); long time1 = 0; long time2 = 0; try{ cal.setTime(sdf.parse(startTime)); time1 = cal.getTimeInMillis(); cal.setTime(sdf.parse(endTime)); time2 = cal.getTimeInMillis(); }catch(Exception e){ e.printStackTrace(); } long between_days=(time2-time1)/(1000*3600); return Integer.parseInt(String.valueOf(between_days)); } /** * 計(jì)算兩段日期的重合日期 */ /** * 計(jì)算兩段日期的重合日期 * @param str1 開(kāi)始日期1 * @param str2 結(jié)束日期1 * @param str3 開(kāi)始日期2 * @param str4 結(jié)束日期2 * @return * @throws Exception */ public static Map<String,Object> comparisonRQ(String str1, String str2, String str3, String str4) throws Exception { String mesg = ""; DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String startdate = ""; String enddate = ""; try { Date dt1 = df.parse(str1); Date dt2 = df.parse(str2); Date dt3 = df.parse(str3); Date dt4 = df.parse(str4); if (dt1.getTime()<=dt3.getTime()&&dt3.getTime()<=dt2.getTime()&&dt2.getTime()<=dt4.getTime()) { mesg = "f";//重合 startdate = str3; enddate = str2; } if (dt1.getTime()>=dt3.getTime()&&dt3.getTime()<=dt2.getTime()&&dt2.getTime()<=dt4.getTime()) { mesg = "f";//重合 startdate = str1; enddate = str2; } if (dt3.getTime()<=dt1.getTime()&&dt1.getTime()<=dt4.getTime()&&dt4.getTime()<=dt2.getTime()) { mesg = "f";//重合 startdate = str1; enddate = str4; } if (dt3.getTime()>=dt1.getTime()&&dt1.getTime()<=dt4.getTime()&&dt4.getTime()<=dt2.getTime()) { mesg = "f";//重合 startdate = str3; enddate = str4; } System.out.println(startdate+"----"+enddate); }catch (ParseException e) { e.printStackTrace(); throw new ParseException(e.getMessage(), 0); }catch(Exception e){ e.printStackTrace(); throw new Exception(e); } Map<String,Object> map = new HashMap<String,Object>(); map.put("startdate", startdate); map.put("enddate", enddate); return map; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 解析android中系統(tǒng)日期時(shí)間的獲取
- android獲取時(shí)間差的方法
- Android獲取通話時(shí)間實(shí)例分析
- Android獲取系統(tǒng)時(shí)間以及網(wǎng)絡(luò)時(shí)間
- Android調(diào)用系統(tǒng)時(shí)間格式顯示時(shí)間信息
- Android中日期與時(shí)間設(shè)置控件用法實(shí)例
- 探討:如何修改Android超時(shí)休眠時(shí)間
- Android開(kāi)發(fā)之時(shí)間日期操作實(shí)例
- Android 動(dòng)態(tài)的顯示時(shí)間
- Android 仿微信聊天時(shí)間格式化顯示功能
相關(guān)文章
Android實(shí)現(xiàn)藍(lán)牙客戶端與服務(wù)器端通信示例
這篇文章主要介紹了Android實(shí)現(xiàn)藍(lán)牙客戶端與服務(wù)器端通信示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-01-01Android基于MLKit實(shí)現(xiàn)條形碼掃碼的代碼示例
這篇文章將借助開(kāi)源庫(kù)?MLKit?實(shí)現(xiàn)條形碼掃描,對(duì)于商品條形碼也可以很好地識(shí)別成功,該庫(kù)的使用內(nèi)容非常豐富,除了條碼識(shí)別,還有文字識(shí)別、圖像標(biāo)記、人臉檢測(cè)等等,本文篇文章就只介紹最基本的條形碼掃描使用,需要的朋友可以參考下2023-08-08Android開(kāi)發(fā)之多媒體文件獲取工具類實(shí)例【音頻,視頻,圖片等】
這篇文章主要介紹了Android開(kāi)發(fā)之多媒體文件獲取工具類,結(jié)合實(shí)例形式分析了Android獲取音頻,視頻及圖片等多媒體資源的相關(guān)操作技巧,需要的朋友可以參考下2017-10-10Android實(shí)現(xiàn)底部導(dǎo)航欄功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)底部導(dǎo)航欄功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06Android使用Retrofit實(shí)現(xiàn)自定義Converter解析接口流程詳解
Retrofit是一個(gè)RESTful的HTTP網(wǎng)絡(luò)請(qǐng)求框架的封裝,網(wǎng)絡(luò)請(qǐng)求的工作本質(zhì)上是OkHttp完成,而Retrofit僅負(fù)責(zé)網(wǎng)絡(luò)請(qǐng)求接口的封裝2023-03-03Android Studio+Servlet+MySql實(shí)現(xiàn)登錄注冊(cè)
對(duì)于大多數(shù)的APP都有登錄注冊(cè)這個(gè)功能,本文就來(lái)介紹一下Android Studio+Servlet+MySql實(shí)現(xiàn)登錄注冊(cè),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05自定義View系列之kotlin繪制手勢(shì)設(shè)置溫度控件的方法
這篇文章主要給大家介紹了關(guān)于自定義View系列之kotlin繪制手勢(shì)設(shè)置溫度控件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07Jenkins打包android應(yīng)用時(shí)自動(dòng)簽名apk詳解
這篇文章主要介紹了Jenkins打包android應(yīng)用時(shí)自動(dòng)簽名apk詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07