Java将时间处理成xx天前、xx年前的格式
jopen
10年前
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)); } }