关于日期类Calendar的简单使用

根据年月获取月份第一天

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;
    }
  };

猜你喜欢

转载自www.cnblogs.com/gaomanito/p/9099362.html