问题描述
- 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手册。我也忘记具体方法了。去试一下吧
解决方案四:
谢谢各位了!我已经解决这个问题了。
时间: 2024-08-18 11:54:31