时间格式化工具类,非常好用
2017-08-09 11:01
260 查看
public class TimeUtil { private static String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss"; public static String timeLogic(String dateStr) { Calendar calendar = Calendar.getInstance(); calendar.get(Calendar.DAY_OF_MONTH); long now = calendar.getTimeInMillis(); Date date = strToDate(dateStr); calendar.setTime(date); long past = calendar.getTimeInMillis(); // 相差的秒数 long time = (now - past) / 1000; StringBuffer sb = new StringBuffer(); if (time > 0 && time < 60) { // 1小时内 return sb.append(time + "秒前").toString(); } else if (time > 60 && time < 3600) { return sb.append(time / 60+"分钟前").toString(); } else if (time >= 3600 && time < 3600 * 24) { return sb.append(time / 3600 +"小时前").toString(); }else if (time >= 3600 * 24 && time < 3600 * 48) { return sb.append("昨天").toString(); }else if (time >= 3600 * 48 && time < 3600 * 72) { return sb.append("前天").toString(); }else if (time >= 3600 * 72) { return (int)(time/3600/24)+"天前"; } return ""; } /** * 日期字符串转换为Date * @param dateStr * @return */ public static Date strToDate(String dateStr) { Date date = null; if (!TextUtils.isEmpty(dateStr)) { DateFormat df = new SimpleDateFormat(DATE_FORMAT); try { date = df.parse(dateStr); } catch (ParseException e) { e.printStackTrace(); } } return date; } /** * 将10位或者13位时间戳转换为日期格式:2016-07-18 * @param times * @return */ public static String dateFormat(String times){ SimpleDateFormat sdf = new SimpleDateFormat("MM-dd"); if(times.length() == 13){ return sdf.format(new Date(Long.parseLong(times))); }else if(times.length() == 10){ return sdf.format(new Date(Long.parseLong(times)*1000L)); } return null; } public static String dateFormat7(String times){ SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd"); if(times.length() == 13){ return sdf.format(new Date(Long.parseLong(times))); }else if(times.length() == 10){ return sdf.format(new Date(Long.parseLong(times)*1000L)); } return null; } /** * 将10位或者13位时间戳转换为日期格式:2016年07月18日 * @param times * @return */ public static String dateFormat2(String times){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); if(times.length() == 13){ return sdf.format(new Date(Long.parseLong(times))); }else if(times.length() == 10){ return sdf.format(new Date(Long.parseLong(times)*1000L)); } return null; } /** * 将10位或者13位时间戳转换为日期格式:2016-07-18 12:44 * @param times * @return */ public static String dateFormat3(String times){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); if(times.length() == 13){ return sdf.format(new Date(Long.parseLong(times))); }else if(times.length() == 10){ return sdf.format(new Date(Long.parseLong(times)*1000L)); } return null; } public static String dateFormat6(String times){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if(times.length() == 13){ return sdf.format(new Date(Long.parseLong(times))); }else if(times.length() == 10){ return sdf.format(new Date(Long.parseLong(times)*1000L)); } return null; } /** * 将yyyy-MM-dd HH:mm转换为时间戳 * @param times * @return */ public static Long dateFormat4(String times){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); try { Date date = sdf.parse(times); return date.getTime(); } catch (ParseException e) { e.printStackTrace(); } return null; } /** * 计算两个日期之间相差的天数 * @param currentTime yyyy-MM-dd HH:mm * @param publishTime yyyy-MM-dd HH:mm * @return 返回整型的天数 */ public static int betweenDays(String currentTime,String publishTime){ double dayss = -(dateFormat4(currentTime) - dateFormat4(publishTime)) / (1000*3600*24); String[] ss = (dayss+"").split("\\."); int days = Integer.valueOf(ss[0]); return days; } /** * 计算两个日期之间相差的小时 * @param currentTime yyyy-MM-dd HH:mm * @param publishTime yyyy-MM-dd HH:mm * @return */ public static int betweenHours(String currentTime,String publishTime){ double dayss = -(dateFormat4(currentTime) - dateFormat4(publishTime)) / (1000*3600); String[] ss = (dayss+"").split("\\."); int hours = Integer.valueOf(ss[0]); return hours; } /** * 将10位或者13位时间戳转换为日期格式:2016-07-18 12:44:22 * @param times * @return */ public static String dateFormat5(String times){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); if(times.length() == 13){ return sdf.format(new Date(Long.parseLong(times))); }else if(times.length() == 10){ return sdf.format(new Date(Long.parseLong(times)*1000L)); } return null; } }
相关文章推荐
- StringUtil工具类 之 时间格式化函数
- Android工具类之时间日期格式化代码大全
- JS时间格式化工具类
- Java技术时间格式化处理工具类
- js时间格式化工具类
- js时间格式化工具类【转载】
- js时间格式化工具类(转)
- Android工具类(时间格式化、获取地址)
- 简单常用时间格式化工具类
- 生成本地文件/格式化时间/获取时间差 工具类
- 时间格式化工具类
- 获取时间/日期工具类:格式化日期,获取当前时间,指定时间,上一月,指定时间的毫秒数
- 写爬虫用到的工具类--(2)[时间格式化]
- Java日期工具类,Java时间工具类,Java时间格式化
- Android工具类之时间日期格式化代码大全
- 写一个简单的python格式化时间格式的工具类
- 工具类--TimeUtil 时间格式化与转换
- 时间格式化工具类
- 时间格式化的工具类
- js的时间格式化工具类