Android处理时间各种方法汇总
更新时间:2017年08月01日 14:48:59 作者:云雾雨烟
这篇文章主要汇总了Android处理时间的各种方法,如何获取当前时间,日期之间的比较,如何计算两段日期的重合日期等,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了Android处理时间的各种方法,供大家参考,具体内容如下
/** * 获取当前时间 * * @return 当前时间 */ public static String getdate() { SimpleDateFormat formatter = new SimpleDateFormat("HH:mm"); Date curDate = new Date(System.currentTimeMillis());// 获取当前时间 String time = formatter.format(curDate); return time; } /** * 获取当前秒数 * @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; } /** * 获取当天日期 * * @return 当前时间 */ public static String getriqi() { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); Date curDate = new Date(System.currentTimeMillis());// 获取当天日期 String time = formatter.format(curDate); return time; } /** * 获取当前全部时间 * * @return 当前时间 */ public static String getalldate() { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date curDate = new Date(System.currentTimeMillis());// 获取当前时间 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; } /** * 天数减一 */ 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); } /** * 时间顺序判断 * @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; } } /** * 返回两个string类型日期之间相差的天数 */ 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)); } /** * 返回两个string类型日期相差的小时数 */ 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)); } /** * 计算两段日期的重合日期 */ /** * 计算两段日期的重合日期 * @param str1 开始日期1 * @param str2 结束日期1 * @param str3 开始日期2 * @param str4 结束日期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; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Android开发教程之ContentProvider数据存储
这篇文章主要介绍了Android开发教程之ContentProvider数据存储的相关资料,需要的朋友可以参考下2016-12-12Android自定义View展示Wifi信号强弱指示方法示例
这篇文章主要给大家介绍了关于Android自定义View展示Wifi信号强弱指示的相关资料,文中通过示例代码介绍的非常详细,文末给出了完整的实例供大家参考学习,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。2017-08-08详解Android开发技巧之PagerAdapter实现类的封装
这篇文章主要介绍了详解Android开发技巧之PagerAdapter实现类的封装,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-11-11android设备不识别awk命令 缺少busybox怎么办
这篇文章主要为大家详细介绍了android设备不识别awk命令,缺少busybox的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-04-04Android基于CountDownTimer实现倒计时功能
这篇文章主要介绍了Android基于CountDownTimer实现倒计时功能,简单分析了基于CountDownTimer类实现倒计时功能的技巧,需要的朋友可以参考下2015-12-12
最新评论