LocalDateTime now = LocalDateTime.now();
System.out.println("计算两个时间的差:");
LocalDateTime end = LocalDateTime.now();
Duration duration = Duration.between(now,end);
long days = duration.toDays(); //相差的天数
long hours = duration.toHours();//相差的小时数
long minutes = duration.toMinutes();//相差的分钟数
long millis = duration.toMillis();//相差毫秒数
long nanos = duration.toNanos();//相差的纳秒数
System.out.println(now);
System.out.println(end);
System.out.println("发送短信耗时【 "+days+"天:"+hours+" 小时:"+minutes+" 分钟:"+millis+" 毫秒:"+nanos+" 纳秒】");
LocalDateTime now = LocalDateTime.now();System.out.println("计算两个时间的差:");LocalDateTime end = LocalDateTime.now();Duration duration = Duration.between(now,end);long days = duration.toDays(); //相差的天数long hours = duration.toHours();//相差的小时数long minutes .
使用LocalDateTime计算两个时间的差
Duration duration = Duration.between(now,end);
long days = duration.toDays(); //相差的天数
long hours = duration.toHours();//相差的小时数
long minutes = duration.toMinutes();//相差的分钟数
long millis = duration.toMillis();//相差毫秒数
long nanos = durat
LocalDate start = LocalDate.of(2021,5,1);
LocalDate end = LocalDate.now();
Period next = Period.between(start,end);
next.getDays();//相差天数
next.getMonths();//相差月份
next.getYears();//相差年份
2.只需要获取天数差
2.1 请看LocalDate.toEpochDay()源码
2. 获取年月日单独的日期间隔
3. 注意事项
JDK 8 提供了新的日期类LocalDate,通过LocalDate可以轻松的对日期进行操作,在实际的开发过程中也会经常需要计算两个日期相差的天数。
1. 获取总的日期间隔
// 指定转换格式
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate s...
final int days = (int) ChronoUnit.DAYS.between(
LocalDate.parse(start
Date),
LocalDate.parse(end
Date)) + 1;
ps: 其中start
Date和end
Date直接传 yyyy-MM-dd格式的字符串即可
LocalDateTime
计算天数和
时间差
LocalDateTime now =
LocalDateTime.parse("2021-12-21 00:00:00",
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime end =
LocalDateTime.parse("2022-03-21 23:59:59",
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime dateTime = LocalDateTime
.ofInstant(Instant.ofEpochMilli(1528197133157L), ZoneId.systemDefault());
LocalDate now = LocalDate.now();
Period between = Period.between(dateTime.toLocalD...
public class
LocalDateDiffExample {
public static void main(String[] args) {
LocalDate date1 =
LocalDate.of(2021, 5, 10);
LocalDate date2 =
LocalDate.of(2021, 5, 15);
long daysDiff = ChronoUnit.DAYS.between(
date1,
date2);
System.out.println("Days Diff: " + daysDiff); // 输出:Days Diff: 5
上述代码中,首先创建
两个`
LocalDate`对象`
date1`和`
date2`,分别表示
两个日期。然后,使用`ChronoUnit.DAYS.between()`方法
计算两个日期之间的
天数差,并将结果保存在`daysDiff`变量中。最后,输出`daysDiff`即可。
需要注意的是,`ChronoUnit.DAYS.between()`方法返回的是
两个日期之间的
天数差,可能为负数,表示`
date1`在`
date2`之后。如果需要
计算其他时间单位的差值,可以使用`ChronoUnit`类中提供的其他常量,例如`ChronoUnit.MONTHS.between()`
计算两个日期之间的月份差。