• 比较两个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 +
                    '}';
        }
    }
    
  • 相关阅读:
    [Chrome_OS]Crosh Shell终端 基础命令
    [HTML5_WebSockets]HTML 5 Web Sockets应用初探
    [HTML5_WebWorkers]利用HTML5的window.postMessage实现跨域通信
    [HTML5_资源]49个超炫的HTML 5示例
    [HTML5_资源]国外模版网站
    [HTML5_JS跨域]JavaScript跨域总结与解决办法
    [HTML5_资源]给网页设计师的30个HTML5学习资源
    [HTML5_WebWorkers]HTML5 web通信(跨文档通信/通道通信)简介
    [HTML5_JQueryMobile]20个很棒的 jQuery Mobile 教程
    LeetCode-513. Find Bottom Left Tree Value
  • 原文地址:https://www.cnblogs.com/cuixiaomeng/p/10369396.html
Copyright © 2020-2023  润新知