博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
两个时间段相隔自然月Util
阅读量:6638 次
发布时间:2019-06-25

本文共 1958 字,大约阅读时间需要 6 分钟。

  hot3.png

public class DateUtil {    public static int getDay(Date date) {        Calendar calendar = Calendar.getInstance();        calendar.setTime(date);        return calendar.get(Calendar.DATE);    }    public static int getMonth(Date date) {        Calendar calendar = Calendar.getInstance();        calendar.setTime(date);        return calendar.get(Calendar.MONTH) + 1;    }    public static int getYear(Date date) {        Calendar calendar = Calendar.getInstance();        calendar.setTime(date);        return calendar.get(Calendar.YEAR);    }    public static int getDaysOfMonth(int year, int month) {        Calendar calendar = Calendar.getInstance();        calendar.set(year, month - 1, 1);        return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);    }    public static int calDiffMonth(String startDate,String endDate){        int result=0;        try {            SimpleDateFormat sfd=new SimpleDateFormat("yyyy-MM-dd");            Date start = sfd.parse(startDate);            Date end = sfd.parse(endDate);            int startYear=getYear(start);            int startMonth=getMonth(start);            int startDay=getDay(start);            int endYear=getYear(end);            int endMonth=getMonth(end);            int endDay=getDay(end);            if (startDay>endDay){ //1月17  大于 2月28                if (endDay==getDaysOfMonth(getYear(new Date()),2)){   //也满足一月                    result=(endYear-startYear)*12+endMonth-startMonth;                }else{                    result=(endYear-startYear)*12+endMonth-startMonth-1;                }            }else{                result=(endYear-startYear)*12+endMonth-startMonth;            }        } catch (ParseException e) {            e.printStackTrace();        }        return result;    }    //测试正确    public static void main(String[] args) {        int i = calDiffMonth("2017-06-30", "2018-07-01");        System.out.println(i);    }}

转载于:https://my.oschina.net/mdxlcj/blog/2056016

你可能感兴趣的文章
随机生成不重复的数
查看>>
C#简单选择排序 (sortselecting)
查看>>
unity 技能图标冷却
查看>>
unity 敌人朝向主角
查看>>
uniy 重复定时器InvokeRepeating()
查看>>
C# 连接mysql
查看>>
C# 服务器端验证用户名和密码输入是否正确实现
查看>>
unity坐标系之间的转换
查看>>
unity AssetBundle打包
查看>>
unity 屏幕淡入淡出效果实现
查看>>
C#类型之间的转换
查看>>
C#explicit explicit 类型转换
查看>>
C#基础值参数和引用参数的运行原理分析
查看>>
第二章线性表
查看>>
栈的顺序存储
查看>>
通过栈Stack实现括号匹配的语法检查
查看>>
队列的顺序存储
查看>>
链队列
查看>>
串的BF模式匹配算法
查看>>
分治法求数组中连续和最大子数组
查看>>