/**
* 计算通话时间和当前系统时间的天数差
*
* @return 天数差
*/
public static int daydiff(long stamp) {
int diff = 0;
//获得当前系统时间的日历对象
Calendar calendar1 =
Calendar.getInstance();
//创建一个表示通话时间的日历对象
Calendar calendar2 = Calendar.
getInstance();
//把通话时间戳设置给calendar2
calendar2.setTimeInMillis(stamp);
diff = calendar1.get(Calendar.DAY_OF_YEAR) -
calendar2.get(Calendar.DAY_OF_YEAR);
return diff;
}
/**
* @param stamp 通话时间的时间戳
* @return 格式化后的日期字符串
*/
public static String formatDate(
long stamp) {
String dateStr = null;
//获得天数差
int diff = daydiff(stamp);
if (diff == 0) {
//说明通话时间为当天
SimpleDateFormat dateFormat =
new SimpleDateFormat("HH:mm:ss");
dateStr = dateFormat.format(new Date(stamp));
} else if (diff == 1) {
//说明通话时间是昨天
SimpleDateFormat dateFormat =
new SimpleDateFormat("昨天 HH:mm:ss");
dateStr = dateFormat.format(new Date(stamp));
} else if (diff <= 7) {
//通话时间是一周以内的
Calendar calendar =
Calendar.getInstance();
calendar.setTimeInMillis(stamp);
int weekDay = calendar.
get(Calendar.DAY_OF_WEEK);
switch (weekDay) {
case Calendar.MONDAY:
dateStr = "星期一";
break;
case Calendar.TUESDAY:
dateStr = "星期二";
break;
case Calendar.WEDNESDAY:
dateStr = "星期三";
break;
case Calendar.THURSDAY:
dateStr = "星期四";
break;
case Calendar.FRIDAY:
dateStr = "星期五";
break;
case Calendar.SATURDAY:
dateStr = "星期六";
break;
case Calendar.SUNDAY:
dateStr = "星期日";
break;
default:
break;
}
} else {
SimpleDateFormat dateFormat =
new SimpleDateFormat("yyyy-MM-dd");
dateStr = dateFormat.format(new Date(stamp));
}
return dateStr;
}