首先用到2个类 ,一个是Date ,一个是Calendar
代码如下
注意地方 24小时制 String todySDF = "今天 HH:mm";12小时制为小写 "hh:mm";
同样targetCalendar.set(Calendar.HOUR, 0);为12小时制
代码如下
// 将传入时间与当前时间进行对比,是否今天昨天
private String getTime(Date date) {
String todySDF = "今天 HH:mm";
String yesterDaySDF = "昨天 HH:mm";
String otherSDF = "M月d日 HH:mm";
SimpleDateFormat sfd = null;
String time = "";
Calendar dateCalendar = Calendar.getInstance();
dateCalendar.setTime(date);
Date now = new Date();
Calendar targetCalendar = Calendar.getInstance();
targetCalendar.setTime(now);
targetCalendar.set(Calendar.HOUR_OF_DAY, 0);
targetCalendar.set(Calendar.MINUTE, 0);
if (dateCalendar.after(targetCalendar)) {
sfd = new SimpleDateFormat(todySDF);
time = sfd.format(date);
return time;
} else {
targetCalendar.add(Calendar.DATE, -1);
if (dateCalendar.after(targetCalendar)) {
sfd = new SimpleDateFormat(yesterDaySDF);
time = sfd.format(date);
return time;
}
}
sfd = new SimpleDateFormat(otherSDF);
time = sfd.format(date);
return time;
}
注意地方 24小时制 String todySDF = "今天 HH:mm";12小时制为小写 "hh:mm";
同样targetCalendar.set(Calendar.HOUR, 0);为12小时制
本文介绍了一种方法,用于判断并格式化输入日期为“今天”、“昨天”或具体日期的形式。通过使用Java的Date和Calendar类实现,区分了24小时制与12小时制的时间显示。
3413

被折叠的 条评论
为什么被折叠?



