日期和现在之间的 Java 时间
我需要帮助用 Java 编写一个函数,该函数接受输入日期并告诉我自该日期以来的年数、月数和天数。
例如,“2005 年 7 月 1 日”将输出“6 年 2 个月 2 天”
I need help writing a function in Java that takes an input date and tells me the number of years, months, and days since the date.
For example, "July 1, 2005" would output "6 years, 2 months, 2 days"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 Joda Time - 它使它相对容易:(
与
相比,我非常更喜欢 Joda API日期
/日历
使用起来要容易得多,部分原因是通常更喜欢不变性。)Use Joda Time - it makes it relatively easy:
(I vastly prefer the Joda API to
Date
/Calendar
. It's much easier to use, partly due to generally preferring immutability.)java.time
下面引用的是 主页的通知乔达时间:
您可以使用
java.time.Period< /code>
以 ISO-8601 标准 为蓝本,并由Java-8 作为 JSR 的一部分-310实施。
使用现代日期时间 API
java.time
的解决方案:输出:
在线演示
从跟踪:日期时间。
* 无论出于何种原因,如果您必须坚持使用 Java 6 或 Java 7,您可以使用 ThreeTen-Backport 将大部分 java.time 功能向后移植到 Java 6 和 Java 6 7. 如果您正在处理 Android 项目,并且您的 Android API 级别仍然不符合 Java-8,请检查 通过脱糖提供 Java 8+ API 和 如何在Android项目中使用ThreeTenABP。
java.time
Quoted below is a notice from the home page of Joda-Time:
You can use
java.time.Period
which is modelled on ISO-8601 standards and was introduced with Java-8 as part of JSR-310 implementation.Solution using
java.time
, the modern Date-Time API:Output:
ONLINE DEMO
Learn more about the modern Date-Time API from Trail: Date Time.
* For any reason, if you have to stick to Java 6 or Java 7, you can use ThreeTen-Backport which backports most of the java.time functionality to Java 6 & 7. If you are working for an Android project and your Android API level is still not compliant with Java-8, check Java 8+ APIs available through desugaring and How to use ThreeTenABP in Android Project.