服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - java中年月日的加减法使用示例

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

2023-03-09 13:32mb622205c8dce06 Java教程

这篇文章主要介绍了java中年月日的加减法使用示例的相关资料,需要的朋友可以参考下

java计算两个年月日之间相差的天数:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 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计算年月之间的加法和减法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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);
    }    
        
        

获取一个月中的第一天和最后一天:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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);
    }
    
 

计算两个月份之间相差的月份个数:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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对当前月份进行传值计算:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  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中年月日的加减法内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.51cto.com/u_15535797/6081698

延伸 · 阅读

精彩推荐
  • Java教程Spring创建Bean的6种方式详解

    Spring创建Bean的6种方式详解

    这篇文章主要介绍了Spring创建Bean的6种方式详解,本文讲解了在Spring 应用中创建Bean的多种方式,包括自动创建,以及手动创建注入方式,实际开发中可以根...

    冬眠的山谷4192019-06-25
  • Java教程Java集合中的fail-fast(快速失败)机制详解

    Java集合中的fail-fast(快速失败)机制详解

    这篇文章主要给大家介绍了关于Java集合中fail-fast(快速失败)机制的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学...

    Listen-Y6032021-08-08
  • Java教程在Java中如何避免创建不必要的对象

    在Java中如何避免创建不必要的对象

    作为Java开发者,我们每天创建很多对象,但如何才能避免创建不必要的对象呢?这需要我们好好学习,这篇文章主要给大家介绍了关于在Java中如何避免创建不必...

    李子捌3862022-02-27
  • Java教程Spring boot中Jackson的操作指南

    Spring boot中Jackson的操作指南

    这篇文章主要给大家介绍了关于Spring boot中Jackson操作的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需...

    涅槃重生,3862021-06-15
  • Java教程java内存溢出示例(堆溢出、栈溢出)

    java内存溢出示例(堆溢出、栈溢出)

    这篇文章主要介绍了java内存溢出示例(堆溢出、栈溢出),需要的朋友可以参考下 ...

    Java教程网4292019-11-21
  • Java教程uploadify java实现多文件上传和预览

    uploadify java实现多文件上传和预览

    这篇文章主要为大家详细介绍了java结合uploadify实现多文件上传和预览的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ...

    zz_cl4732020-06-21
  • Java教程java开发实现订阅到货通知帮我们买到想买的东西

    java开发实现订阅到货通知帮我们买到想买的东西

    这篇文章主要为大家介绍了java开发实现订阅到货通知帮我们买到想买的东西示例demo,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步...

    iiopsd11592023-03-04
  • Java教程java实现摄像头截图功能

    java实现摄像头截图功能

    这篇文章主要为大家详细介绍了java实现摄像头截图功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    penngo6672021-06-04