仿照微信朋友圈实现几分钟前,几天前
package utils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class FriendlyTime { public static void main(String[] args) throws ParseException { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:m:s"); Date date = format.parse("2016-05-09 16:02:35"); System.out.println(getFriendlytime(date)); } public static String getFriendlytime(Date d){ long delta = (new Date().getTime()-d.getTime())/1000; if(delta<=0)return d.toLocaleString(); if(delta/(60*60*24*365) > 0) return delta/(60*60*24*365) +"年前"; if(delta/(60*60*24*30) > 0) return delta/(60*60*24*30) +"个月前"; if(delta/(60*60*24*7) > 0)return delta/(60*60*24*7) +"周前"; if(delta/(60*60*24) > 0) return delta/(60*60*24) +"天前"; if(delta/(60*60) > 0)return delta/(60*60) +"小时前"; if(delta/(60) > 0)return delta/(60) +"分钟前"; return "刚刚"; } }
java中过时的date.toLocaleString()的解决方案:提示description
SimpleDateFormat sdf = (SimpleDateFormat) DateFormat.getDateTimeInstance();
System.out.println("日期时间:" + sdf.format(date));