实现2月的平年瑞年最后天数

首先先了解一下日历的两个方法

getLeastMaximum

getActualMaximum

15120100491.png

import java.text.SimpleDateFormat;

import java.util.Calendar;

public class DateUtil {

public static String getFirstDayOfMonth(int month) {

Calendar cal = Calendar.getInstance();

// 设置月份

cal.set(Calendar.MONTH, month - 1);

// 获取某月最小天数

int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH);

// 设置日历中月份的最小天数

cal.set(Calendar.DAY_OF_MONTH, firstDay);

// 格式化日期

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String firstDayOfMonth = sdf.format(cal.getTime())+" 00:00:00";

return firstDayOfMonth;

}

/**

* 获得该月最后一天

*

* @param year

* @param month

* @return

*/

public static String getLastDayOfMonth(int month) {

Calendar cal = Calendar.getInstance();

// 设置月份

cal.set(Calendar.MONTH, month - 1);

// 获取某月最大天数

int lastDay=0;

//2月的平年瑞年天数

if(month==2) {

lastDay = cal.getLeastMaximum(Calendar.DAY_OF_MONTH);

}else {

lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);

}

// 设置日历中月份的最大天数

cal.set(Calendar.DAY_OF_MONTH, lastDay);

// 格式化日期

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String lastDayOfMonth = sdf.format(cal.getTime())+" 23:59:59";

return lastDayOfMonth;

}

}

最后调用

public static void main(String[] args) {

Integer time[] = {1,2,3,4,5,6,7,8,9,10,11,12};

for (Integer integer : time) {

System.out.println(DateUtil.getFirstDayOfMonth(integer));

System.out.println(DateUtil.getLastDayOfMonth(integer));

}

}

15120106451.png

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐