在Java中计算两个日期之间的天数

在Java中计算两个日期之间的天数,java,date,Java,Date,我有一个代码,格式中有两个日期 DateFormat dateFormat= new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z"); Date date=new Date(); DateFormat formatter ; Date publishDate = (Date)dateFormat.parse(pubDate); 我想计算两个日期之间的天数。我不能用乔达软件包。

我有一个代码,格式中有两个日期

DateFormat dateFormat= new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
           Date date=new Date();

           DateFormat formatter ; 
           Date publishDate = (Date)dateFormat.parse(pubDate);  

我想计算两个日期之间的天数。我不能用乔达软件包。有没有办法得到这两个日期之间的日差?

你可以减去这两个日期之间的毫秒数,然后除以每天的毫秒数

为什么不使用Joda软件包?我有一些限制。还有其他方法吗?请在此处检查答案:。第四个是您可能需要的,您需要通过使
日期
对象等于一天中的同一点来规范化它们;上午12点,这种方法是100%准确的。白天的浪费时间也会影响结果。是的,我只是给出了一个大概的方法。夏令时和其他时间上的怪事确实存在一些问题,使时间难以处理。我最初的想法是只使用JODA,但OP说他们不能使用它。你需要将
Date
object millis标准化,使它们等于当天的同一点;上午12点,这种方法要100%准确。这取决于规格。当然可以

Date d1 = ..., d2 = ...;
long t1 = d1.getTime(),
   t2 = d2.getTime();
long day = 1000 * 60 * 60 * 24; // milliseconds in a day
return (t1 - t2) / day;