import lombok.extern.slf4j.Slf4j;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
@Slf4j
public class DateUtils {
public static final String YYYY_MM_DD = "yyyy-MM-dd";
public static final String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
public static final String YYYY_MM_DD_HH_MM = "yyyy-MM-dd HH:mm";
public static final String MM_DD_HH_MM = "MM月dd日 HH:mm";
public static final String HH_MM = "HH:mm";
public static final String DD = "dd";
/**
* 获取年份
* @param date
* @return
*/
public static int getYear(Date date){
Calendar dateCalendar = Calendar.getInstance();
dateCalendar.setTime(date);
return dateCalendar.get(Calendar.YEAR);
}
/**
* 获取月份
* @param date
* @return
*/
public static int getMonth(Date date){
Calendar dateCalendar = Calendar.getInstance();
dateCalendar.setTime(date);
return dateCalendar.get(Calendar.MONTH);
}
/**
* 获取天数
* @param date
* @return
*/
public static int getDay(Date date){
Calendar dateCalendar = Calendar.getInstance();
dateCalendar.setTime(date);
return dateCalendar.get(Calendar.DAY_OF_MONTH);
}
}
#代码片段
Date nowDate = new Date();
Date startTime = new Date();
int nowYear = DateUtils.getYear(nowDate);
int startYear = DateUtils.getYear(startTime);
if(nowYear == startYear){
// 同一年
int nowMonth = DateUtils.getMonth(nowDate);
int startMonth = DateUtils.getMonth(startTime);
if(nowMonth == startMonth){
// 同一月
int nowDay = DateUtils.getDay(nowDate);
int startDay = DateUtils.getDay(startTime);
int difference = startDay - nowDay;
if(difference == 0){
// 同一日
}else{
if(difference == 1){
// 明日
}else {
// 非明日
}
}
}else {
// 非同一月
}
}else {
// 非同一年
}