• java中年月日的加减法,年月的加减法使用


    本文为博主原创,未经允许不得转载:

    java计算两个年月日之间相差的天数:
     public static int daysBetween(String smdate,String bdate) throws ParseException{
            int daysInterval=0;
            if(StringUtils.isNoneBlank(smdate)&&StringUtils.isNoneBlank(bdate)){
                SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
                Calendar cal = Calendar.getInstance();    
                cal.setTime(sdf.parse(smdate));    
                long time1 = cal.getTimeInMillis();                 
                cal.setTime(sdf.parse(bdate));    
                long time2 = cal.getTimeInMillis();         
                long between_days=(time2-time1)/(1000*3600*24);
                daysInterval = Integer.parseInt(String.valueOf(between_days));
            }
                
           return daysInterval;     
        }  
        
    java计算年月之间的加法和减法:
    public static void main(String[] args) throws ParseException
        {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");   
            String time=sdf.format(new Date());
            Calendar cd = Calendar.getInstance();
            cd.setTime(sdf.parse(time));
            cd.add(Calendar.MONTH, 0);//往前一月,,如果是整数则进行加法,如果是负数,则进行减法    
            Date date=cd.getTime();  
            String endTimeString = sdf.format(date);
            cd.add(Calendar.MONTH, -7);//往后7个月
            String startTimeString = sdf.format(cd.getTime());
            String startTime = startTimeString.replaceAll("-", "");//格式日期yyyyMM
            String endTime  = endTimeString.replaceAll("-", "");//格式日期yyyyMM
            System.out.println(startTime);
            System.out.println(endTime);
        }    
            
            
    获取一个月中的第一天和最后一天:
    public static void main(String[] args)
        {
            // 获取当前年份、月份、日期  
            Calendar cale = null;  
            cale = Calendar.getInstance();  
            // 获取当月第一天和最后一天  
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");  
            // 获取前月的第一天  
            cale = Calendar.getInstance();  
            cale.add(Calendar.MONTH, -6);  
            cale.set(Calendar.DAY_OF_MONTH, 1);  
            String startTimeString = format.format(cale.getTime());  
            // 获取前月的最后一天  
            cale = Calendar.getInstance();  
            cale.add(Calendar.MONTH, 0);  
            cale.set(Calendar.DAY_OF_MONTH, 0);  
            String endTimeString = format.format(cale.getTime());  
            String startTime =startTimeString.replaceAll("-", "");//格式日期yyyyMMdd
            String endTime  =endTimeString.replaceAll("-", "");//格式日期yyyyMMdd
            String layerTime = startTimeString +"至"+endTimeString;
            System.out.println(layerTime);
        }
        
        
    计算两个月份之间相差的月份个数:
         public int getMonthInterval(String str1,String str2) throws ParseException{
            int monthLength = 0;
            if(StringUtils.isNoneBlank(str1)&& StringUtils.isNoneBlank(str2)){
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
                Calendar bef = Calendar.getInstance();
                Calendar aft = Calendar.getInstance();
                bef.setTime(sdf.parse(str1));
                aft.setTime(sdf.parse(str2));
                int result = aft.get(Calendar.MONTH) - bef.get(Calendar.MONTH);
                int month = (aft.get(Calendar.YEAR) - bef.get(Calendar.YEAR)) * 12;
                monthLength = Math.abs(month + result);
            }
           return monthLength;
        }
        
    java对当前月份进行传值计算:
      public static Map<String,Object> getMonth(int length) throws ParseException{
            Map<String, Object> map = new HashMap<>();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");   
            String time=sdf.format(new Date());
            Calendar cd = Calendar.getInstance();
            cd.setTime(sdf.parse(time));
            cd.add(Calendar.MONTH, -length);//往前一月    
            Date date=cd.getTime();  
            String monthFormat= sdf.format(date);
    //        System.out.println(monthFormat);
            String monthString =monthFormat.replaceAll("-", "");//格式日期yyyyMM
            map.put("monthFormat", monthFormat);
            map.put("monthString", monthString);
            return map;
        }    
        谢谢点赞!
       

  • 相关阅读:
    c# 序列化和反序列化
    dataGridView通过checkbox选择数据
    获取文件后缀名(迟点写入自己的类库里面去) .NET
    刚在《微软中国msdn围脖》看到面试题
    jquery 遍历下拉框
    html代码转换成为纯文本
    获取ListBox中多选值
    递归算法运用到实际项目,可行吗?
    ExtJs学习笔记1
    JS 可变参数 arguments
  • 原文地址:https://www.cnblogs.com/zjdxr-up/p/8244768.html
Copyright © 2020-2023  润新知