java获取本月第一天和最后一天
项目开发经常有获取当月日期的第一天和最后一天的需求,比如在统计中、OA系统中,下面介绍如何获取当月第一天、当月最后一天、指定日期最后一天、指定月最后一天的方法。
工具/原料
java
代码片段
1、/** * 获取当前月份第一天的日期 * @return 格式化后的日期 */public static String getFirstDayOfThisMonth() { SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd"); Calendar cal = Calendar.getInstance(); cal.set(Calendar.DAY_OF_MONTH, 1); return myFormatter.format(cal.getTime());}
2、/** * 获取当前月份最后一天 * @return 格式化的日期 */public stati罕铞泱殳c String getMaxDayOfThisMonth() { SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd"); Calendar cal = Calendar.getInstance(); cal.set(Calendar.DATE, 1); //主要就是这个roll方法 cal.roll(Calendar.DATE, -1); return myFormatter.format(cal.getTime());}
3、/** * 获取指定日期最大的天数 * @return 返回最大天数 */public static int getMaxDayOfDate(Date date) { Calendar a = Calendar.getInstance(); a.setTime(date); a.set(Calendar.DATE, 1); a.roll(Calendar.DATE, -1); int maxDate = a.get(Calendar.DATE); return maxDate;}
4、/** * 获取指定月份最大的天数 * @param monthNum month是从1-11的巳呀屋饔,所以如果想获取5月就传4 * @return 返回最大天数 */public stati艘早祓胂c int getMaxDayOfMonth(int monthNum) { Calendar a = Calendar.getInstance(); a.set(Calendar.MONTH,monthNum); a.set(Calendar.DATE, 1); a.roll(Calendar.DATE, -1); int maxDate = a.get(Calendar.DATE); return maxDate;}