问题:在两个日期之间的日历天中获得差异.例如,6/28/1996年23:59与6/29/1996 12:00相差一天.
研究:我在网上进行了大量的研究,每个人似乎只给出了毫秒的差异,这给你真正的时间差异,但不是在日历日.
现行解决方案
(int) ((new java.sql.Date(System.currentTimeMillis()).getTime()/day_conversion)) - (int) (rs.getDate("attempt_time").getTime()/day_conversion) > 0
Run Code Online (Sandbox Code Playgroud)
我做了一个int转换到转换为日期的日期(从而丢弃任何小数)到当前时间和记录时间并取得差异.这让我得到了日历日的实际转换; 但是,我想知道是否只有一种书面方法可以为我做这件事.
小智 5
从Java 8开始,存在java.time
API,取代java.util.Date
和相关类,并提供了解决问题的非常简洁的方法:
LocalDateTime date1 = LocalDateTime.of(1996, 6, 28, 23, 59);
LocalDateTime date2 = LocalDateTime.of(1996, 6, 29, 12, 59);
Period difference = Period.between(date1.toLocalDate(), date2.toLocalDate());
System.out.println(difference.getDays());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
36 次 |
最近记录: |