java获取当前年的每一个月份的第一天和最后一天

原创于 【模棱博客】

日历如何获取当前年的每一个月份的第一天和最后一天

实现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版权协议,转载请附上原文出处链接和本声明。