??560
2015-05-24 07:20
采纳率: 63.6%
浏览 2.1k
已采纳

jsp从sql server数据库中获得的dateTime类型的数据能否直接相减

我想获得两个日期之间相差的天数,最好能精确到分,过路的大侠指点一下吧!

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 平菓菓 2015-05-24 11:15
    已采纳

    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);
    
    已采纳该答案
    打赏 评论
  • xxxiao11 2015-05-24 07:35

    可以 temp1 = format.parse(currentDateString);
    temp2 = format.parse(sdf.format(rs.getDate(7)));
    int sec = (int) (temp1.getTime()-temp2.getTime());
    temp1是当前时间,temp2是从数据库中读出的时间,sec是相减后的秒数

    打赏 评论
  • 可以精确到毫秒,有个方法可以将时间转化成从1999年到当前时间的毫秒数。你查一下java手册。我也忘记具体方法了。去试一下吧

    打赏 评论
  • ??560 2015-05-27 08:48

    谢谢各位了!我已经解决这个问题了。

    打赏 评论

相关推荐 更多相似问题