Calendar.getInstanse().setTime(Date1.getTime()-Date2.getTime()).get(Calendar.YEAR);

解决方案 »

  1.   

    public class TestDate
    {
        public TestDate()
        {
        }
        public static java.util.Date getDateTime(String dateString)
            throws java.text.ParseException
        {
            if(dateString ==null || dateString.equals(""))
            {
                return null;
            }
            java.text.SimpleDateFormat
                simpleDateFormat =new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            return simpleDateFormat.parse(dateString);
        }
        public static void main(String[] args) throws Exception
        {
            java.util.Date Date1 = getDateTime("2002-01-02 00:00:00");
            java.util.Date Date2 = getDateTime("2001-01-01 00:00:00");
            java.util.Calendar c = java.util.Calendar.getInstance();
            c.setTimeInMillis(  Date1.getTime()-Date2.getTime() );
            int yy = c.get(java.util.Calendar.YEAR)-1970;
            int mm = c.get(java.util.Calendar.MONTH);
            int dd = c.get(java.util.Calendar.DAY_OF_MONTH)-1;
            System.out.println("YEARS:"+yy+" MONTHS:"+mm+" DAYS: "+dd);
        }
    }
      

  2.   

    public class TestDateFunc
    {
        public static java.util.Date getDateTime(String dateString)
            throws java.text.ParseException
        {
            if(dateString ==null || dateString.equals(""))
            {
                return null;
            }
            java.text.SimpleDateFormat
                simpleDateFormat =new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            return simpleDateFormat.parse(dateString);
        }
        public long DateDiff(java.util.Date Date1,java.util.Date Date2)
        {
            class Distance
            {
                public java.util.Date getDateTime(String dateString)
                    throws java.text.ParseException
                {
                    if(dateString ==null || dateString.equals(""))
                    {
                        return null;
                    }
                    java.text.SimpleDateFormat
                        simpleDateFormat =new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    return simpleDateFormat.parse(dateString);
                }
                public int getDiff(java.util.Date Date1,java.util.Date Date2)
                    {
                        java.util.Calendar c = java.util.Calendar.getInstance();
                        c.setTimeInMillis(  Date1.getTime()-Date2.getTime() );
                        int yy = c.get(java.util.Calendar.YEAR)-1970;
                        int mm = c.get(java.util.Calendar.MONTH);
                        int dd = c.get(java.util.Calendar.DAY_OF_MONTH)-1;
                        return yy;
                    }
            }
            Distance p = new Distance();
            return p.getDiff(Date1,Date2);
        }
        public static void main(String[] args) throws Exception
        {
            TestDateFunc t = new TestDateFunc();
            java.util.Date Date1 = getDateTime("2004-01-02 00:00:00");
            java.util.Date Date2 = getDateTime("2001-01-01 00:00:00");        System.out.println(t.DateDiff(Date1,Date2)) ;
        }}