老鸟们好哈!我刚刚学完最初级的java课程!我要在一个增删改查的控制台做一个DVD管理系统:我要用java语言查询借出DVD超出7天没有归还的客户!该怎么写呢?思路是用当前日期去减去借出日期:如借出时间是6月18日,今天是7月20日,我试过把日期转化为数字?但是还是没有反映?怎样写代码?
解决方案 »
- 为什么我JPanel设置不了背景颜色
- InputStreamReader FileInputStream配合读UTF8文件时,为什么最前面总有个?号
- 看看能有几种方法实现我想要的,谢谢!!
- rs.getString()得到的sql2000的uniqueidentifier类型跟数据库里面的不一样
- 上传文件时候,如何在上传之前读取客户端文件的大小??
- 邮件到达提醒!
- 新手简单问题请教
- 大哥大姐帮忙(100分求助)--关于JBulider的JBCL找不到的问题
- zong suan neng shang csdn le ,ke xi wo lian shu ru fa dou bu hui zhang le,ji tian le ,
- 什么问题:Exception in thread "main" java.lang.NoClassDefFoundError:test(runtime)
- jdk1.4 使用arraylist、List报错,请求帮助
- java基础类库和核心类库有什么区别?
public static final int daysBetween(Date early, Date late) {
java.util.Calendar calst = java.util.Calendar.getInstance();
java.util.Calendar caled = java.util.Calendar.getInstance();
calst.setTime(early);
caled.setTime(late);
//设置时间为0时
calst.set(java.util.Calendar.HOUR_OF_DAY, 0);
calst.set(java.util.Calendar.MINUTE, 0);
calst.set(java.util.Calendar.SECOND, 0);
caled.set(java.util.Calendar.HOUR_OF_DAY, 0);
caled.set(java.util.Calendar.MINUTE, 0);
caled.set(java.util.Calendar.SECOND, 0); //得到两个日期相差的天数
int days = ((int) (caled.getTime().getTime() / 1000) - (int) (calst
.getTime().getTime() / 1000)) / 3600 / 24;
return days;
}
使用subString 截取字符串再比较也可以啊!
使用subString 截取字符串再比较也可以啊!
http://zhoujingxian.javaeye.com/admin/blogs/440953
你这个截取的如果不自己计算那个月份的天数应该出不来的吧比如:20090805与20090701,只单纯的用string转int来相剪的话,出来的是104,不是35,如果自己手动处理年份,月份,和天数的话,那就另当别论了啊
http://zhoujingxian.javaeye.com/blog/440961贴快了
public static void main(String args[])
{
getDays("20090618", "20090620");
}private static long getDays(String before, String after) throws Exception
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date date1 = sdf.parse(before);
Date date2 = sdf.parse(after);
long millSeconds = date2.getTime() - date1.getTime();
long days = millSeconds/(1000*60*60*24);
System.out.println("days is : " + days);
return days;
}
还有就是两个Date可以 compare方法
为什么要用java算呢?几乎所有数据库都支持时间计算的吧?
直接传一个7天进去,在SQL里就搞定了。
import java.util.Date;import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang.time.DateUtils;public class Test { public static void main(String[] args) {
Date[] dates = new Date[] { java.sql.Date.valueOf("2010-01-05"),
java.sql.Date.valueOf("2009-12-05") };
Date now = new Date();
Date deadline = DateUtils.addDays(now, -7);
System.out.println("当前时间:"+DateFormatUtils.ISO_DATE_FORMAT.format(now));
System.out.println("7天前:"+DateFormatUtils.ISO_DATE_FORMAT.format(deadline));
for(Date date: dates){
if(date.before(deadline)){
System.out.println("超过7天:"+DateFormatUtils.ISO_DATE_FORMAT.format(date));
}else{
System.out.println("没超7天:"+DateFormatUtils.ISO_DATE_FORMAT.format(date));
}
}
}}需要commons-lang类库,下载地址:http://commons.apache.org/downloads/download_lang.cgi