根据年月获取月份第一天
public static String getSDateOfMonth(String monthId) { String SDate; Calendar cal = Calendar.getInstance(); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH) + 1; int y = Integer.parseInt(monthId.substring(0, 4)); int m = Integer.parseInt(monthId.substring(4, 6)); if (y == year && m == month) { if (month < 10) {// 月份少于10 SDate = "" + year + "-0" + month + "-01"; } else { SDate = "" + year + month + "-01"; } } else {// 不是当前月 if (m < 10) {// 月份少于10 SDate = "" + y + "-0" + m + "-01"; } else { SDate = "" + y + m + "-01"; } } return SDate; };
根据年月获取月份最后一天
public static String getLastDayOfMonth(String monthId) { int year = Integer.parseInt(monthId.substring(0, 4)); int month = Integer.parseInt(monthId.substring(4, 6)); Calendar cal = Calendar.getInstance(); // 设置年份 cal.set(Calendar.YEAR, year); // 设置月份 cal.set(Calendar.MONTH, month - 1); // 获取某月最大天数 int 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()); return lastDayOfMonth; };
判断是否是当前年月
public static boolean isCurrentMonth(String month) { Calendar cal = Calendar.getInstance(); int currentYear = cal.get(Calendar.YEAR); int currentMonth = cal.get(Calendar.MONTH) + 1; int y = Integer.parseInt(month.substring(0, 4)); int m = Integer.parseInt(month.substring(4, 6)); if (y == currentYear && m == currentMonth) { return true; }else{ return false; } };
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); //获取前月的第一天 Calendar cal_1=Calendar.getInstance();//获取当前日期 cal_1.add(Calendar.MONTH, -1); cal_1.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 firstDay = format.format(cal_1.getTime()); System.out.println("-----1------firstDay:"+firstDay); //获取前月的最后一天 Calendar cale = Calendar.getInstance(); cale.set(Calendar.DAY_OF_MONTH,0);//设置为1号,当前日期既为本月第一天 lastDay = format.format(cale.getTime()); System.out.println("-----2------lastDay:"+lastDay); //获取当前月第一天: Calendar c = Calendar.getInstance(); c.add(Calendar.MONTH, 0); c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 String first = format.format(c.getTime()); System.out.println("===============first:"+first); //获取当前月最后一天 Calendar ca = Calendar.getInstance(); ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH)); String last = format.format(ca.getTime()); System.out.println("===============last:"+last);