Android下的几种时间格式转换

一身转战三千里,一剑曾百万师。这篇文章主要讲述Android下的几种时间格式转换相关的知识,希望能为你提供帮助。
更多更全的工具类,请参考github上的Blankj/AndroidUtilCode
将毫秒转换为小时:分钟:秒格式

public static String ms2HMS(int _ms){ String HMStime; _ms/=1000; int hour=_ms/3600; int mint=(_ms%3600)/60; int sed=_ms%60; String hourStr=String.valueOf(hour); if(hour< 10){ hourStr="0"+hourStr; } String mintStr=String.valueOf(mint); if(mint< 10){ mintStr="0"+mintStr; } String sedStr=String.valueOf(sed); if(sed< 10){ sedStr="0"+sedStr; } HMStime=hourStr+":"+mintStr+":"+sedStr; return HMStime; }

将毫秒转换为标准日期格式
public static String ms2Date(long _ms){ Date date = new Date(_ms); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()); return format.format(date); }public static String ms2DateOnlyDay(long _ms){ Date date = new Date(_ms); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); return format.format(date); }

标准时间转换为时间戳
public static long Date2ms(String _data){ SimpleDateFormat format =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date date = format.parse(_data); return date.getTime(); }catch(Exception e){ return 0; } }

计算时间差
public staticString DateDistance(Date startDate,Date endDate){ if(startDate == null ||endDate == null){ return null; } long timeLong = endDate.getTime() - startDate.getTime(); if(timeLong< 0){ timeLong=0; } if (timeLong< 60*1000) return timeLong/1000 + "秒前"; else if (timeLong< 60*60*1000){ timeLong = timeLong/1000 /60; return timeLong + "分钟前"; } else if (timeLong< 60*60*24*1000){ timeLong = timeLong/60/60/1000; return timeLong+"小时前"; } else if ((timeLong/1000/60/60/24)< 7){ timeLong = timeLong/1000/ 60 / 60 / 24; return timeLong + "天前"; }else{ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); return formatter.format(startDate); } }

【Android下的几种时间格式转换】计算与当前的时间差
public staticString DateDistance2now(long _ms){ SimpleDateFormat DateF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Long time=new Long(_ms); String d = DateF.format(time); Date startDate=DateF.parse(d); Date nowDate = Calendar.getInstance().getTime(); return DateDistance(startDate, nowDate); }catch (Exception e){ } return null; }


    推荐阅读