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

2024-12-21 18:23:22
推荐回答(2个)
回答1:

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

如果是带时间的且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吧。返回肯定整数。

回答2:

直接用sql语句
datediff(dd,date1,date2)