在本教程中,我们将学习以下不同的例子
- 两个日期之间的差异,并返回天数月数和周数
- 给定的Util日期是超过90天的
java.time.temporal.ChronoUnit是java8中引入的一个枚举类。它是用来衡量时间的年、月、周、日、小时、分钟。下面的例子找到了两个日期之间的日周月数。
这里的日期是[LocalDate)(/2018/08/java8-top-10-localdate-examples-with.html) ,没有时区信息。
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class CountDays {
public static void main(String[] args) {
LocalDate fromDate = LocalDate.of(2021,01,05);
LocalDate toDate = LocalDate.of(2021,02,05);
long days = ChronoUnit.DAYS.between(fromDate, toDate);
long weeks = ChronoUnit.WEEKS.between(fromDate, toDate);
long months = ChronoUnit.MONTHS.between(fromDate, toDate);
System.out.println("Days "+days);
System.out.println("weeks "+weeks);
System.out.println("months "+months);
}
}
输出
Days 31
weeks 4
months 1
这里的日期是java.util.Date首先使用plusDays方法得到ZonedDateTime的当前时间,用-90天返回90daysago对象。使用isBefore方法进行比较
ZonedDateTime now = ZonedDateTime.now();
ZonedDateTime 90daysAgo = now.plusDays(-90);
if (givenDate.isBefore(thirtyDaysAgo.toInstant())) {
System.out.println("Given Date is 90 days ago")
}
JODA是一个用于在java中更好地处理日期和时间的库。
使用这个API很简单
LocalDate fromDate = LocalDate.of(2021,01,05);
LocalDate toDate = LocalDate.of(2021,02,05);
int daysCount = Days.daysBetween(fromDate, toDate).getDays();