首页 > 代码库 > 日期函数的计算

日期函数的计算

/* 此函数实现:给定日期和经过天数,算出结果日期

 * 其中sDate为指定日期,iDate为多少时间段(可以是 年、月、日...  具体根据iCal来确定)

 * iCal为某种时间段例如  月:Calendar.MONTH(具体可查询api中Calendar类)

 * sStr为日期格式 例如:"yyyyMMdd"(具体可查询api中Calendar类)  

 */

public String getNextDate(String sDate, int iDate,int iCal, String sStr){

        String sNextDate = "";

        Calendar calendar = Calendar.getInstance();

        SimpleDateFormat formatter = new SimpleDateFormat(sStr);

        Date date = null;

        try {

            date = formatter.parse(sDate);

        } catch (ParseException e) {

        e.printStackTrace();

        }

        calendar.setTime(date);

        calendar.add(iCal, iDate);

        sNextDate = formatter.format(calendar.getTime());

        return sNextDate ;

    }


       /**

* 返回两个日期之间相差几天

* @param fDate

* @param oDate

* @return

*/

public static int daysOfTwo(Date fDate, Date oDate) {


      Calendar aCalendar = Calendar.getInstance();


      aCalendar.setTime(fDate);


      int day1 = aCalendar.get(Calendar.DAY_OF_YEAR);


      aCalendar.setTime(oDate);


      int day2 = aCalendar.get(Calendar.DAY_OF_YEAR);


      return day2 - day1;


   }


       public static void main(String[] args) throws ParseException {

Test test = new Test();

String a = test.getNextDate("2014-12-31", 1, Calendar.DATE, "yyyy-MM-dd");

System.out.println(a);

String str1 = "2013-08-11";

String str2 = "2013-08-15";

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");

Date d1 = simpleDateFormat.parse(str1);

Date d2 = simpleDateFormat.parse(str2);

int day = daysOfTwo(d1, d2);

System.out.println(day);

}


本文出自 “一直在路上” 博客,请务必保留此出处http://leihen.blog.51cto.com/8120961/1845587

日期函数的计算