TmDateUtil
2016-01-02 23:47
363 查看
package com.keke.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * 日期工具类 * TmDateUtil<BR> * 创建人:潭州学院-keke <BR> * 时间:2014年11月11日-下午10:29:09 <BR> * @version 1.0.0 * */ public class TmDateUtil { /** * 日期转换 * 方法名:dateToString<BR> * 创建人:潭州学院-keke <BR> * 时间:2014年11月11日-下午10:28:41 <BR> * @param time * @return Date<BR> * @exception <BR> * @since 1.0.0 */ public static Date dateToString(String time){ Date startTime = null; try { startTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time); } catch (ParseException e) { e.printStackTrace(); } return startTime; } /** * * 方法名:getTimeFormat<BR> * 创建人:潭州学院-keke <BR> * 时间:2014年11月11日-下午10:28:21 <BR> * @param startTime * @return String<BR> * @exception <BR> * @since 1.0.0 */ public static String getTimeFormat(String startTime){ return getTimeFormat(dateToString(startTime)); } /** * 获取日期几分钟前,几年前 * 方法名:getTimeFormat<BR> * 创建人:潭州学院-keke <BR> * 时间:2014年11月11日-下午10:27:54 <BR> * @param startTime * @return String<BR> * @exception <BR> * @since 1.0.0 */ public static String getTimeFormat(Date startTime){ try{ long startTimeMills = startTime.getTime(); long endTimeMills = System.currentTimeMillis(); long diff = (endTimeMills - startTimeMills)/1000;//秒 long day_diff = (long) Math.floor(diff/86400);//天 StringBuffer buffer = new StringBuffer(); if(day_diff<0){ return "[error],时间越界..."; }else{ if(day_diff==0 && diff<60){ if(diff==0)diff=1; buffer.append(diff+"秒前"); }else if(day_diff==0 && diff<120){ buffer.append("1 分钟前"); }else if(day_diff==0 && diff<3600){ buffer.append(Math.round(Math.floor(diff/60))+"分钟以前"); }else if(day_diff==0 && diff<7200){ buffer.append("1小时前"); }else if(day_diff==0 && diff<86400){ buffer.append(Math.round(Math.floor(diff/3600))+"小时前"); }else if(day_diff==1){ buffer.append("1天前"); }else if(day_diff<7){ buffer.append(day_diff+"天前"); }else if(day_diff <30){ buffer.append(Math.round(Math.ceil( day_diff / 7 )) + " 星期前"); }else if(day_diff >=30 && day_diff<=179 ){ buffer.append(Math.round(Math.ceil( day_diff / 30 )) + "月前"); }else if(day_diff >=180 && day_diff<365){ buffer.append("半年前"); }else if(day_diff>=365){ buffer.append(Math.round(Math.ceil( day_diff /30/12))+"年前"); } } return buffer.toString(); }catch(Exception ex){ return ""; } } }
相关文章推荐
- 《笨办法学Python》 第3课手记
- EasyUI1.4.4 + zTree3.5.19 完美结合框架布局 tree+tab
- 动画封装四:用json实现多条样式的缓动运动
- StringUtils
- 解题报告:HDU_1709 The Balance
- Fast Pixel Operations in .NET (With and Without unsafe)
- Java 创建多线程
- 初识HTML(5)——图形
- struts配置
- (maven)继承
- 合数幂上下分解表
- Shell编程进阶 2.1 shell函数
- 判断一个字符串是否为另外一个字符串旋转之后的字符串
- 手势解锁的实现
- 15年的最后总算是熬过去了,16年先放松两天
- 代码审计之文件越权和文件上传搜索技巧
- java设计模式学习
- Hibernate的Session和transaction
- 在开发中图片浏览遇到的一些简单问题
- 初学C++类比java语法复杂