ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java Calendar类实现日期的操作

2021-07-02 18:32:29  阅读:154  来源: 互联网

标签:Java format int MONTH 日期 cal Calendar month


根据年月获取月份第一天

复制代码
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);
复制代码

 

标签:Java,format,int,MONTH,日期,cal,Calendar,month
来源: https://www.cnblogs.com/BAKA-HIT/p/14964482.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有