读书人

於日期相加,该如何解决

发布时间: 2012-01-19 20:57:58 作者: rapoo

於日期相加
我在管理系遇到了一。

我想一情形。比如有一:2007-3-20,它加上4,就得2007-3-24;
如果是2007-3-30,它加上2,就得2007-4-1.

因到管理系中的一,用借,在程序中下他借的(比如是2007-4-28),在定借的同借的必在20天,不能期不,那得在程序中判断他借的是不是期了。是做的,在程序中先2007-4-28借最大期限相加(比如,2007-4-28加上20得2007-5-18,然後2007-5-18前作比,在是2007-5-20,明他借的有期)

相信我明白了吧,有哪位JAVA高手可以助我解一下,把下面的方法的具代呢?


方法:
boolean isReturn(String beginDay,int maxDays)

[解决办法]
时间相加需要使用java.util.Calendar类,该类有个add方法可以控制日期比较的,另外显示的时候用java.text.SimpleDateFormat类定义时间格式。
想学习就得自己去研究,这的人可以提供思路给你,可以给你例子。不过代码还是你自己去写的好!
[解决办法]
public boolean isReturn(String beginDay, int maxDays)
{
java.text.DateFormat df = new java.text.SimpleDateFormat( "yyyy-MM-dd ");// 日期格式化,用于将你输入的String类型的日期转化为java.util.Date类型,以便于进行日期的加减操作
java.util.Date currentDate = new java.util.Date();// 获得当前的日期,用于和还书日期进行比较
java.util.Date term = new java.util.Date();// 用于存储正常还书日期
try
{
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(df.parse(beginDay));
c.add(java.util.Calendar.DAY_OF_MONTH, maxDays);
term=c.getTime();
return term.after(currentDate);
} catch (java.text.ParseException e)
{
System.out.println( "输入的日期不符合规定的格式 ");
return false;
}
}


关于代码中的一些方法的使用方法看API文档

读书人网 >Java Web开发

热点推荐