通过所给日期判断是前天、昨天、今天、明天、后天,其他日期返回是星期几。
/**
* 将日期信息转换成今天、明天、后天、星期
* @param date
* @return
*/
public static String getDateDetail(String date){
Calendar today = Calendar.getInstance();
Calendar target = Calendar.getInstance();
DateFormat df = new SimpleDateFormat(Config.DATE_FORMAT);
try {
today.setTime(df.parse(getNowDateToStr()));
today.set(Calendar.HOUR, 0);
today.set(Calendar.MINUTE, 0);
today.set(Calendar.SECOND, 0);
target.setTime(df.parse(date));
target.set(Calendar.HOUR, 0);
target.set(Calendar.MINUTE, 0);
target.set(Calendar.SECOND, 0);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
long intervalMilli = target.getTimeInMillis() - today.getTimeInMillis();
int xcts = (int) (intervalMilli / (24 * 60 * 60 * 1000));
return showDateDetail(xcts,target);
}
/**
* 将日期差显示为日期或者星期
* @param xcts
* @param target
* @return
*/
private static String showDateDetail(int xcts, Calendar target){
switch(xcts){
case 0:
return Constants.TODAY;
case 1:
return Constants.TOMORROW;
case 2:
return Constants.AFTER_TOMORROW;
case -1:
return Constants.YESTERDAY;
case -2:
return Constants.BEFORE_YESTERDAY;
default:
int dayForWeek = 0;
dayForWeek = target.get(Calendar.DAY_OF_WEEK);
switch(dayForWeek){
case 1: return Constants.SUNDAY;
case 2: return Constants.MONDAY;
case 3: return Constants.TUESDAY;
case 4: return Constants.WEDNESDAY;
case 5: return Constants.THURSDAY;
case 6: return Constants.FRIDAY;
case 7: return Constants.SATURDAY;
default:return null;
}
}
}
需要增加常量:Constant.java
/**
* 日期
*/
public static final String TODAY = "今天";
public static final String YESTERDAY = "昨天";
public static final String TOMORROW = "明天";
public static final String BEFORE_YESTERDAY = "前天";
public static final String AFTER_TOMORROW = "后天";
public static final String SUNDAY = "星期日";
public static final String MONDAY = "星期一";
public static final String TUESDAY = "星期二";
public static final String WEDNESDAY = "星期三";
public static final String THURSDAY = "星期四";
public static final String FRIDAY = "星期五";
public static final String SATURDAY = "星期六";