我怎样才能了解特定日期过去了多少天?

Cap*_*ger 6 java

如何了解特定日期过去了多少天?我需要使用哪个包以及如何使用?

Fab*_*ney 6

只是为了协议 - 我喜欢java.util.concurrent.TimeUnit那些东西.

Date d1 = ...
Date d2 = ...
long dif = d1.getTime() - d2.getTime();
long days = TimeUnit.MILLISECONDS.toDays(dif);
Run Code Online (Sandbox Code Playgroud)

所以基本上就是morja的答案,但是使用TimeUnit来计算时间.直接在代码中使用24,60等值会违反Java代码约定(它只允许代码中直接使用-1,0和1)并且更难阅读.


mor*_*rja 4

编辑我之前的答案仅在一年内有效。

您可以像这样使用毫秒差异:

Date date1 = // some date
Date date2 = // some other date
long difference = date2.getTime() - date1.getTime();
long differenceDays = difference / (1000 * 60 * 60 * 24);
Run Code Online (Sandbox Code Playgroud)

与 timboo 的回答基本相同,只是更短的方式。