java獲取當前年的每一個月份的第一天和最後一天
阿新 • • 發佈:2019-02-10
實現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)); } }