例如从数据库中获取的数据中包含时间,和当前时间比较,**分钟前发布,或者**小时前发布等等功能
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
这个格式是 2016-09-18 11:36:07类似这样的,精确秒
获取当前的时间,转化为Date类型
String newtime = df.format(new Date());
Date d1 = df.parse(newtime);
获取得到的时间(从数据库,或者其他地方,自定义的时间等等),也转化为date类型
Date d2 = df.parse(time);
做差比较
long diff = d1.getTime() - d2.getTime();
long nd = 1000*24*60*60;//一天的毫秒数
long nh = 1000*60*60;//一小时的毫秒数
long nm = 1000*60;//一分钟的毫秒数
long m = 1000;//秒
//下面是判断时间差小时还是分钟,还是天
if(diff/nh > 0 && diff/nd == 0){
job.put("time",diff/nh+"小时前");
}if (diff/nd > 0){
job.put("time",diff/nd+"天前");
}if(diff/nh == 0){
job.put("time",diff/nm+"分钟前");
}if(diff/nm == 0 ){
job.put("time",diff/m+"秒前");
}
System.out.println(job.get("time")+"时间差");
我上面的job 是一个 JSONObject job = jArray.getJSONObject(i);
在里面put值,当然根据需求换MAP 还是array等,随便。
如有差错 我修改哈~