java里面 date类型减去date类型怎么得到天数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java里面 date类型减去date类型怎么得到天数相关的知识,希望对你有一定的参考价值。

同上 先谢谢了
返回值最好是int的

那个方法不对 SimpleDateFormat
20070827 - 20070902 = -75
我晕啊

看你要得到的是什么天数。

如果是带时间的且24小时算一天:

Calendar c = Calendar.getInstance();

c.setTime(d1);
long l1 = c.getTimeInMillis();

c.setTime(d2);
long l2 = c.getTimeInMillis();

return (l2 - l1) / (1000 * 60 * 60 * 24);

或者你是想得到除去时间的日期差别:

Calendar c = Calendar.getInstance();

c.setTime(d1);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
long l1 = c.getTimeInMillis();

c.setTime(d2);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
long l2 = c.getTimeInMillis();

return (l2 - l1) / (1000 * 60 * 60 * 24);

恩,思想简单了一把。用方法2吧。返回肯定整数。
参考技术A 直接用sql语句
datediff(dd,date1,date2)

以上是关于java里面 date类型减去date类型怎么得到天数的主要内容,如果未能解决你的问题,请参考以下文章