经常看到社交类app中关于动态发布的时间点与当前时间的换算,说麻烦也不麻烦,说简单也不简单,只是计算起来有点绕。如以当前时间为基准,自己某个时间在微博上发表一个动态,发表时间提示有多种显示,如刚刚、几分钟前、几个小时前、昨天、前天、日期等等。自己之前做过类似的时间换算,虽然不是最优,但最终效果还是达到了,下面附上源码
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDate {
/** 准备第一个模板,从字符串中提取出日期数字 */
private static String pat1 = "yyyy-MM-dd HH:mm:ss" ;
/** 准备第二个模板,将提取后的日期数字变为指定的格式*/
private static String pat2 = "yyyy年MM月dd日 HH:mm:ss" ;
/** 实例化模板对象*/
private static SimpleDateFormat sdf1 = new SimpleDateFormat(pat1) ;
private static SimpleDateFormat sdf2 = new SimpleDateFormat(pat2) ;
public static void main(String[] args) {
Date dates = Dates();
String string = sdf1.format(dates);
System.out.println(string);
String time = "2013-01-29 19:38:21";
System.