原创于 【模棱博客】
日历如何获取当前年的每一个月份的第一天和最后一天
实现2月的平年瑞年最后天数
首先先了解一下日历的两个方法
getLeastMaximum
getActualMaximum
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));
}
}
http://www.flammulina.com/2017/11/30/java-calendar获取当前年的每一个月份的第一天和最后一天 /
版权声明:本文为qq_24501105原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

