package com.lh.fly.common.date;
import android.text.TextUtils;
import com.lh.fly.App;
import com.lh.fly.R;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TimeUtil {
private static final String LINE = "-";
public static final long SECOND = 1000;
public static final long MIN = 60 * SECOND;
public static final long HOUR = 6 * MIN;
public static final long DAY = 24 * HOUR;
// Wed May 27 12:35:20 +0800 2015
public static String getFormatTime(String timeStr) {
StringBuilder sb = new StringBuilder();
try {
if (!TextUtils.isEmpty(timeStr)) {
String[] timeArr = timeStr.split("\\s+");
String year = timeArr[timeArr.length - 1];
String date = getMonthNum(timeArr[1]) + LINE + timeArr[2];
String time = timeArr[3].substring(0, 5);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date d = simpleDateFormat.parse(year + LINE + date + " " + time);
int y = Integer.valueOf(year);
int currentYear = Calendar.getInstance().get(Calendar.YEAR);
if (currentYear != y) { // 如果不是当前年份
sb.append(currentYear);
} else { // 如果是本年
long diff = d.getTime() - System.currentTimeMillis();
if (diff > DAY * 2) {
sb.append(date);
} else if (diff > DAY) {
sb.append(App.getAppContext().getResources().getString(R.string.yesterday))
.append(" ")
.append(time);
} else if (diff > HOUR) {
long hours = diff / HOUR;
String hourAgo = String.format(
App.getAppContext().getResources().getString(R.string.hour_ago),
hours);
sb.append(hourAgo);
} else {
sb.append(time);
}
}
}
return sb.toString();
} catch (Exception e) {
return null;
}
}
private static String getMonthNum(String monEn) {
String mothNum = "00";
switch (monEn) {
case "Jan":
mothNum = "01";
break;
case "Feb":
mothNum = "02";
break;
case "Mar":
mothNum = "03";
break;
case "Apr":
mothNum = "04";
break;
case "May":
mothNum = "05";
break;
case "Jun":
mothNum = "06";
break;
case "Jul":
mothNum = "07";
break;
case "Aug":
mothNum = "08";
break;
case "Sep":
mothNum = "09";
break;
case "Oct":
mothNum = "10";
break;
case "Nov":
mothNum = "11";
break;
case "Dec":
mothNum = "12";
break;
}
return mothNum;
}
}