使用Java的工具类Calendar
通过Calendar可以进行很多的日期操作
/**
* 得到指定年份的最后一天
* @param year
*/
public static void getLastDayOfYear(int year){
Calendar calendar = Calendar.getInstance();
//先指定为后一年
calendar.set(Calendar.YEAR,year+1);
//DAY_OF_YEAR的值按照年份的第一天从1开始,设置为0可以得到前一年的最后一天
calendar.set(Calendar.DAY_OF_YEAR,0);
String lastDayOfYear = dateFormat.format(calendar.getTime());
System.out.println(lastDayOfYear);
}
/**
* 得到指定月份的最后一天
* @param month
*/
public static void getLastDayOfMonth(int month){
Calendar calendar = Calendar.getInstance();
//MONTH的值从0-11分别是12个月份
calendar.set(Calendar.MONTH,month);
//DAY_OF_MONTH的值按照月份的第一天从1开始,设置为0可以得到前一月的最后一天
calendar.set(Calendar.DAY_OF_MONTH,0);
String lastDayOfMonth = dateFormat.format(calendar.getTime());
System.out.println(lastDayOfMonth);
}
/**
* 得到指定日期所在周次的最后一天
* @param date
*/
public static void getLastDayOfWeek(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
//得到这一周的指定日期
calendar.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);
String lastDayOfWeek = dateFormat.format(calendar.getTime());
System.out.println(lastDayOfWeek);
}
Calendar除了能够得到某一天之外,也能通过get方法得到日期的信息
例如判断某一天是否为周末
public static boolean isWeekend(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY ||
calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY;
}
测试一下
public static void main(String[] args) {
getLastDayOfYear(2021);
getLastDayOfMonth(5);
getLastDayOfWeek(new Date());
System.out.println(isWeekend(new Date()));
}
运行结果