import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Test { public static String dateDiff(String startTime) throws ParseException { String format="yyyy-MM-dd HH:mm:ss"; SimpleDateFormat sd = new SimpleDateFormat(format); long nd = 1000 * 24 * 60 * 60;// 一天的毫秒数 long nh = 1000 * 60 * 60;// 一小时的毫秒数 long nm = 1000 * 60;// 一分钟的毫秒数 long ns = 1000;// 一秒钟的毫秒数 long diff; // 获得两个时间的毫秒时间差异 SimpleDateFormat df = new SimpleDateFormat(format);//设置日期格式 String endTime=df.format(new Date());// new Date()为获取当前系统时间 diff = sd.parse(endTime).getTime() - sd.parse(startTime).getTime(); long day = diff / nd;// 计算差多少天 long hour = diff % nd / nh;// 计算差多少小时 long min = diff % nd % nh / nm;// 计算差多少分钟 long sec = diff % nd % nh % nm / ns;// 计算差多少秒//输出结果 System.out.println("时间相差:"+day+"天"+hour+"小时"+min+"分钟"+sec+"秒"); String msg=""; String returnMsg=""; if(day==0&&hour==0&&min==0&&sec<60){ returnMsg=msg +sec + "秒之前"; }else if(day==0&&hour==0&&min<60){ returnMsg=msg +sec + "分钟之前"; } else if(day==0&&hour<24){ returnMsg=msg+hour + "小时之前"; }else if(day<15){ returnMsg=msg +day + "天之前"; }else if(day<30){ returnMsg=msg + "半个月之前"; }else if(day<360){ returnMsg=msg +day/30 + "个月之前"; }else{ returnMsg=msg +day/360 + "年之前"; } System.out.println("返回结果:"+returnMsg); return returnMsg; } public static void main(String[] args) throws ParseException { dateDiff("2015-03-15 23:04:10"); } }
准确计算某个时间点距现在的时间差的代码 如"几分钟之前"
猜你喜欢
转载自zhengyunfei.iteye.com/blog/2203025
今日推荐
周排行