jsp从sql server数据库中获得的dateTime类型的数据能否直接相减
问题描述:
我想获得两个日期之间相差的天数,最好能精确到分,过路的大侠指点一下吧!
答
java从数据库读到的是java.sql.Date,java.sql.Date继承于java.util.Date。java.util.Date有个方法getTime(),返回从格林威治时间1970年1月1日00:00:00到该Date对象的时间的毫秒数。你把两个Date对象的getTime()相减再除以(60×1000)就是相差的分钟数,除以(24×3600×1000)就是相差的天数。
java.sql.Date a = rs.getDate("..."), b = rs.getDate("...");
long diffMinute = (a.getTime() - b.getTime())/(60*1000);
long diffDay = diffMinute/(24*60);
答
可以 temp1 = format.parse(currentDateString);
temp2 = format.parse(sdf.format(rs.getDate(7)));
int sec = (int) (temp1.getTime()-temp2.getTime());
temp1是当前时间,temp2是从数据库中读出的时间,sec是相减后的秒数
答
可以精确到毫秒,有个方法可以将时间转化成从1999年到当前时间的毫秒数。你查一下java手册。我也忘记具体方法了。去试一下吧
答
谢谢各位了!我已经解决这个问题了。