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");
}
}