仿照微信朋友圈实现几分钟前,几天前
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));