【问题标题】:How to know the number of days between 2 dates in java? [duplicate]如何知道java中两个日期之间的天数? [复制]
【发布时间】:2018-04-03 06:52:12
【问题描述】:

我正在尝试计算 java 中两个日期之间的差异。例如, 我有:

LocalDate TodayDate = LocalDate.now(); //That returns me ==> year/month/day
LocalDate ExpireDay = LocalDate.of("2018-01-12");

我想知道这两个日期之间有多少天,我该怎么做? 我尝试使用ExpireDay.minus(Period.ofDays());,但它不起作用...... :(

【问题讨论】:

  • stackoverflow.com/questions/27005861/… 可能会有所帮助。
  • 假设它是 Java 8(虽然 LocalDate 类没有 off 方法):stackoverflow.com/a/24163958
  • ExpireDay.minus(Period.ofDays()) 不可能工作;它甚至没有引用TodayDate。一般来说,不要只是将代码扔给编译器,然后看看有什么问题。如果你不理解你的代码,它很可能在你没有预料到的情况下失败。
  • 提问前请先搜索一下。 “get days between dates java” 的简单 Google 提供了很多结果,其中许多在 Stack Overflow(包括上面链接的那些) - 请参阅 How to Ask 页面和 this page。还请包含可编译的代码,以便我们可以正确测试而不是猜测您的意思 - 了解如何提供minimal reproducible example

标签: java date localdate


【解决方案1】:

您可以使用 localdate 类查找两个日期之间的天数

LocalDate today = LocalDate.now();
LocalDate ExpireDay = LocalDate.of(2018, Month.JANUARY, 12);
long daysBetween = DAYS.between(today, ExpireDay);
System.out.println(daysBetween);

【讨论】:

  • DAYS 来自哪个包?
【解决方案2】:

总天数:

long days = ChronoUnit.DAYS.between( start , stop ) ;

数年、数月、数天:

Period p = Period.between( start , stop ) ;
int y = p.getYears() ;
int m = p.getMonths() ;
int d = p.getDays() ;

【讨论】:

    猜你喜欢
    • 2012-01-05
    • 2012-06-18
    • 2011-02-07
    • 2011-10-29
    • 1970-01-01
    相关资源
    最近更新 更多