zoukankan      html  css  js  c++  java
  • 比较两个Date类型的数据相差几年

    package com.utils;
    
    import java.text.DecimalFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class WorkYearUtil {
    
            public static void main(String[] args){
                Date d1 = new Date();
                String a ="2020-02-02";
                SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyy-MM-dd");
                Date date = null;
                try {
                    date = simpleDateFormat.parse(a);
                } catch (ParseException e) {
                    e.printStackTrace();
                }
                int s = yearCompare(d1, date);//小 大 
                System.out.println(s);
            }
        public static int yearCompare(Date fromDate, Date toDate){
            DayCompare result = dayComparePrecise(fromDate, toDate);
            double month = result.getMonth();
            double year = result.getYear();
            //返回2位小数,并且四舍五入
            DecimalFormat df = new DecimalFormat("######0.0");
            String format = df.format(year + month / 12);
            double dou = Double.parseDouble(format);
            double floor = Math.floor(dou);
            int i = (int) floor;
            return i;
        }
        public static DayCompare dayComparePrecise(Date fromDate, Date toDate){
            Calendar  from  =  Calendar.getInstance();
            from.setTime(fromDate);
            Calendar  to  =  Calendar.getInstance();
            to.setTime(toDate);
    
            int fromYear = from.get(Calendar.YEAR);
            int fromMonth = from.get(Calendar.MONTH);
            int fromDay = from.get(Calendar.DAY_OF_MONTH);
    
            int toYear = to.get(Calendar.YEAR);
            int toMonth = to.get(Calendar.MONTH);
            int toDay = to.get(Calendar.DAY_OF_MONTH);
            int year = toYear  -  fromYear;
            int month = toMonth  - fromMonth;
            int day = toDay  - fromDay;
            DayCompare dayCompare =new DayCompare();
            dayCompare.setDay(day);
            dayCompare.setMonth(month);
            dayCompare.setYear(year);
            return dayCompare;
        }
    
    }
    

     需要用到的类

    package com.utils;
    
    import java.util.Calendar;
    import java.util.Date;
    
    public class DayCompare {
        private int year;
        private int month;
        private int day;
    
        public DayCompare() {
        }
    
        public DayCompare(int year, int month, int day) {
            this.year = year;
            this.month = month;
            this.day = day;
        }
    
        public int getYear() {
            return year;
        }
    
        public void setYear(int year) {
            this.year = year;
        }
    
        public int getMonth() {
            return month;
        }
    
        public void setMonth(int month) {
            this.month = month;
        }
    
        public int getDay() {
            return day;
        }
    
        public void setDay(int day) {
            this.day = day;
        }
    
        @Override
        public String toString() {
            return "DayCompare{" +
                    "year=" + year +
                    ", month=" + month +
                    ", day=" + day +
                    '}';
        }
    }
    
  • 相关阅读:
    WAP版浏览器不支持.NET的linkButton
    类型初始值设定项引发异常
    磁盘阵列卡
    SQL SERVER 存储过程的天然递归
    Jquery读取返回的JSON数据
    WebView.loadUrl()在真机环境中执行即报错的问题
    permission is only granted to system apps
    Android程序的版本检测与更新
    IE7下浮动(float)层不能实现环绕的问题
    性能优化的一知半解
  • 原文地址:https://www.cnblogs.com/cuixiaomeng/p/10369396.html
Copyright © 2011-2022 走看看