怎么计算任意两年的秒数?要求考虑闰年。

解决方案 »

  1.   

    肯定有年月日吧? 那就是2个日期之间的秒数喽Date  有个getTime的方法,是获取毫秒的,再除于1000,不就是秒了?
      

  2.   

    package com.huawei;import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;public class Test {
    public static int getTest(String beginTime,String endTime){
    //2011-04-12 12:30:09
    final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Calendar cbeginTime = Calendar.getInstance();
    Calendar cendTime = Calendar.getInstance();
    Calendar c1 = Calendar.getInstance();
    Calendar c2 = Calendar.getInstance();
    Calendar c3 = Calendar.getInstance();
    try {
    cbeginTime.setTime(sdf.parse(beginTime));
    cendTime.setTime(sdf.parse(beginTime));
    c1.setTime(sdf.parse(beginTime));
    c2.setTime(sdf.parse(beginTime));
    c3.setTime(sdf.parse(beginTime));
    } catch(ParseException e){
    e.printStackTrace();
    }
    c1.add(Calendar.DAY_OF_YEAR,1);
    c2.add(Calendar.DAY_OF_YEAR,7);
    c3.add(Calendar.YEAR, 2);

    if(cendTime.before(c1))
    {
    }
    else if(cendTime.before(c2))
    {
    }
    else if(cendTime.before(c3))
    {
    }
    else
    {

    }

    }


    Calendar cal = Calendar.getInstance();
    cal.

    return 4;
    }
    }
      

  3.   

    多看看calendar这个类吧,里面有取当前年,月,日的方法,这个问题我觉得不是怎么判断是否闰年,通过TimeZone tz = TimeZone.getDefault();
        Calendar cal = Calendar.getInstance(tz,Locale.CHINA);   
         int i = cal.get(calendar.Year);
         while((i%4==0)&&(i%100)=0){   ................
    }
      

  4.   

    假设cal1,cal2是任意两个Calendar对象,cal1早于cal2,
    那么 
    Calendar cal3 = cal.add(Calendar.YEAR,2); //加两年
    再看cal2是不是早于cal3
    cal2.before(cal3)
    true就是两年内了。