Java时间处理(xx天前、xx年前)
不用我告诉你这个功能多么有用吧。。。。网上看到的,不敢独享
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
*
* @author Robot
*
*/
public class test {
public static Date getDateByString(String time) {
Date date = null;
if(time == null) return date;
String date_format = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat format = new SimpleDateFormat(date_format);
try {
date = format.parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
public static String getShortTime(String time) {
String shortstring = null;
long now = Calendar.getInstance().getTimeInMillis();
Date date = getDateByString(time);
if(date == null) return shortstring;
long deltime = (now - date.getTime())/1000;
if(deltime > 365*24*60*60) {
shortstring = (int)(deltime/(365*24*60*60)) + "年前";
} else if(deltime > 24*60*60) {
shortstring = (int)(deltime/(24*60*60)) + "天前";
} else if(deltime > 60*60) {
shortstring = (int)(deltime/(60*60)) + "小时前";
} else if(deltime > 60) {
shortstring = (int)(deltime/(60)) + "分前";
} else if(deltime > 1) {
shortstring = deltime + "秒前";
} else {
shortstring = "1秒前";
}
return shortstring;
}
public static void main(String\[\] args) {
String time = "2012-02-28 10:40:55";
System.out.println(getShortTime(time));
}
}