自制绝对时间相对化java方法TimeToString
本方式实现将绝对日期如2015-6-23 8:00:00时间字符串转换为昨天8:00,明天21:00,今天5:23等等。在安卓开始中涉及时间显示相当实用。 注意按代码中要求传入时间字符串time的参数
TimeToString(String time)代码:
@SuppressWarnings("deprecation")
public static String TimeToString(String time) {
    String timeString=time;
    try {
        SimpleDateFormat dateFormat;
        dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        SimpleDateFormat dateFormat2 = new SimpleDateFormat("HH:mm");
        SimpleDateFormat dateFormat3 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        dateFormat.setLenient(false);
        Date timeDate = dateFormat.parse(time);
//			Long timeStamp = timeDate.getTime();
//			Long currentStamp = new Date().getTime();
//			Long timetogo = currentStamp - timeStamp;
            Calendar calDateA = Calendar.getInstance();
            Calendar calDateB = Calendar.getInstance();
            calDateB.setTime(timeDate);
            int year=calDateA.get(Calendar.YEAR);
            int mon=calDateA.get(Calendar.MONTH);
            int day=calDateA.get(Calendar.DATE);
            int currentyear=calDateB.get(Calendar.YEAR);
            int currentmon=calDateB.get(Calendar.MONTH);
            int currentday=calDateB.get(Calendar.DATE);
            Log.e(“bypaper”,currentyear+” “+currentmon+” “+year+” “+day+” “);
            if (year==currentyear&&mon==currentmon&&day==currentday) {
                timeString=”今天”+dateFormat2.format(timeDate);
            }else if (year==currentyear&&mon==currentmon&&(day-currentday)==1) {
                timeString=”昨天”+dateFormat2.format(timeDate);
            }else if (year==currentyear&&mon==currentmon&&(day-currentday)==-1) {
                timeString=”明天”+dateFormat2.format(timeDate);
            }else {
                timeString=dateFormat3.format(timeDate);
            }
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }// util类型
    return timeString;
}
    
连蒙带猜地还是只看得懂英文