java中年月日的加减法使用示例

 更新时间:2023年02月24日 08:13:38   作者:mb622205c8dce06  
这篇文章主要介绍了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;
    }

到此这篇关于java中年月日的加减法使用示例的文章就介绍到这了,更多相关java中年月日的加减法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Intellij idea下使用不同tomcat编译maven项目的服务器路径方法详解

    Intellij idea下使用不同tomcat编译maven项目的服务器路径方法详解

    今天小编就为大家分享一篇关于Intellij idea下使用不同tomcat编译maven项目的服务器路径方法详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • java 从int数组中获取最大数的方法

    java 从int数组中获取最大数的方法

    这篇文章主要介绍了java 从int数组中获取最大数的方法,需要的朋友可以参考下
    2017-02-02
  • 在Spring Boot中如何使用log4j记录日志

    在Spring Boot中如何使用log4j记录日志

    这篇文章主要介绍如何在spring boot中引入log4j,以及一些基础用法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • springboot整合token的实现代码

    springboot整合token的实现代码

    这篇文章主要介绍了springboot整合token的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 详解SpringBoot中的tomcat优化和修改

    详解SpringBoot中的tomcat优化和修改

    这篇文章主要介绍了详解SpringBoot中的tomcat优化和修改,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 10个经典的Java main方法面试题

    10个经典的Java main方法面试题

    这篇文章主要为大家分享了10个经典的Java main方法面试题,与其说是Java面试题,其实也是Java的一些最基础知识问题,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • Java注解简单使用实例解析

    Java注解简单使用实例解析

    这篇文章主要介绍了Java注解简单使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • C# 数据类型转换

    C# 数据类型转换

    这篇文章主要讲解C语言中基本数据类型、字符串与其它数据类型以及常见的日期类型的转换,希望能给大家做一个参考。希望能够给你带来帮助
    2021-07-07
  • 深入理解java泛型Generic

    深入理解java泛型Generic

    这篇文章主要介绍了深入理解java泛型Generic,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-05-05
  • 浅谈mybatis中SQL语句给boolean类型赋值问题

    浅谈mybatis中SQL语句给boolean类型赋值问题

    这篇文章主要介绍了浅谈mybatis中SQL语句给boolean类型赋值问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11

最新评论